2012-01-24 71 views
1

Rails的我有一個JavaScript,我呈現局部使用js.erb附加的Javascript使用AJAX

$('#registration-steps').fadeOut("fast").html("<%= escape_javascript(render :partial => @page, :layout => false)%>").fadeIn("slow"); 

問題是,在這部分我從AdWords的一些代碼,我想渲染轉換追蹤:

如:

<script type="text/javascript" src="https://www.googleadservices.com/pagead/conversion.js"> 

然而,當我打電話的部分,該腳本被剝離並沒有被執行的JavaScript。

我想在我的js.erb與無濟於事如下:

var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script.src = "https://www.googleadservices.com/pagead/conversion.js"; 
$("#tracking").append(script); 

回答

1

嘗試使用jQuery的getScript加入函數動態執行腳本:

http://api.jquery.com/jQuery.getScript/`

然而,這仍然意味着,當你escape_javascript時,腳本中包含的部分內容會被損壞。

作爲另一種可能性,你可以移動的包括你的部分和一個content_for呼叫添加到您的佈局:在你js.erb文件的末尾

<% =content_for :ad_words %> 

然後我會插入:

<% content_for :ad_words do %> 
    <script type="text/javascript" src="https://www.googleadservices.com/pagead/conversion.js"> 
<% end %> 

這樣就沒有機會逃脫了。