Добавление Javascript в Rails с использованием AJAX - PullRequest
1 голос
/ 25 января 2012

У меня есть Javascript, в котором я отрисовываю партиал, используя js.erb:

$('#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 Ответ

1 голос
/ 26 января 2012

Попробуйте динамически выполнить сценарий, используя функцию getScript jQuery:

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

Однако, это все еще означает, что скрипт, включенный в ваш партиал, искажается, когда вы escape_javascript.

В качестве еще одной возможности вы можете убрать включение из своего частичного и добавить вызов content_for в свой макет:

<% =content_for :ad_words %>

Тогда в конце вашего js.erb файла я вставлю его:

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

Таким образом, больше нет шансов, что он сбежит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...