Uncaught синтаксическая ошибка с плагином jquery и Chrome, отлично работает в других браузерах - PullRequest
0 голосов
/ 03 ноября 2011

В основном я пытаюсь разработать простой плагин, который позволяет нам динамически генерировать наши клики GA прямо из JSON. Поэтому я разработал этот быстрый скрипт. Прекрасно работает, но Chrome запускает "Uncaught SyntaxError: Неожиданный идентификатор"

Предложения

Тест HTML-файла:

<script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="modules/onclicks/onclickify.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
    $.getJSON('modules/onclicks/clicks.json', function(data) {
        $('#analytics').onclickify(data);
    });
});

</script>
<script id="analytics"></script>

Файл плагина jQuery

(function( $ ){



$.fn.onclickify = function(clicks) {  

var onclicks = "";

return this.each(function() {

  $.each(clicks, function(key, value){

    onclicks += "$('"+value.selector+"')";
    onclicks += ".live('click', function(){\n";
    onclicks += "_gaq.push(['_trackEvent',";
    onclicks += value.name+"','";
    onclicks += value.label+"','";
    onclicks += value.action+"');\n";
    onclicks += "});\n\n";

  });

  $(this).append(onclicks);

});

};
})( jQuery );

1 Ответ

1 голос
/ 03 ноября 2011

Это не сработает.Вы не можете добавить блоб исходного кода jQuery таким образом.Ну, вы можете, но это не будет делать то, что вы думаете.

Я не уверен, что именно вы пытаетесь сделать, но я думаю вы могли быпросто сделай это так:

(function( $ ){



$.fn.onclickify = function(clicks) {  

   return this.each(function() {

     $.each(clicks, function(key, value){

      $(value.selector)
        .live('click', function(){
         _gaq.push(['_trackEvent',
           value.name,
           value.label,
           value.action
         ]);
       });
     });
   });

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