我知道有关谷歌分析的类似问题,但在这种情况下,跟踪代码有点复杂。 我想将跟踪代码附加到通过prettyPhoto查看的每个图像。
在prettyPhoto init方法中,我定义了changepicturecallback来调用一个函数:myCallbaclFunc:
$(".gallery:first a[rel^='prettyPhoto']").prettyPhoto({
animation_speed:'normal',
theme:'light_square',
slideshow:3000,
autoplay_slideshow: false,
show_title: true,
overlay_gallery_max: 3000,
changepicturecallback: myCallbackFunc
});
然后,myCallbackFunc被定义为:
myCallbackFunc = function() {
//append code to social container div
$('.pp_social').append('<div class="netscope"><script type="text/javascript">var WRP_ID=316817;var WRP_SECTION="COMUNIDADE";var WRP_SUBSECTION="Estudos MensHealth";var WRP_SECTION_GRP="316817 - MensHealth";var WRP_SUBSECTION_GRP= WRP_SECTION;var WRP_CONTENT="Home content";var WRP_CHANNEL;var WRP_ACC;wreport_ok=0;</scr'+'ipt><script type="text/javascript" src="http://www.autohoje.com/inc/netscope2.js"></scr'+'ipt><script type="text/javascript">if(wreport_ok==1){ var w_counter = new wreport_counter(WRP_SECTION, WRP_SUBSECTION, WRP_ID, WRP_ACC, WRP_CHANNEL, WRP_SECTION_GRP, WRP_SUBSECTION_GRP);w_counter.add_content(WRP_CONTENT);w_counter.count();}</scr'+'ipt></div>');
}
但是当我检查生成的代码时,我得到的是emtpy div class =“netscope”
我应该使用除“追加”之外的其他方法吗? 我应该以某种方式逃避javascript代码吗?
提前致谢。
答案 0 :(得分:0)
您可能在浏览器中遇到此问题。
或者它可能是您在DOM中看不到它的问题,
请参阅@Hendra Uzia的回答,参考问题,
所有jQuery的插入方法都在内部使用domManip函数 在将元素插入到元素之前和之后清理/处理元素 DOM。 domManip函数所做的一件事就是拉出任何东西 要插入的脚本元素并通过它运行它们 “evalScript例程”而不是将它们与其余的DOM一起注入 分段。它分别插入脚本,评估它们,然后 将它们从DOM中删除。
我认为jQuery这样做的原因之一是避免 Internet Explorer中可能发生的“权限被拒绝”错误 在某些情况下插入脚本。它也避免了 反复插入/评估相同的脚本(可以 如果它在一个包含元素内,则可能导致问题 你正在插入然后移动DOM。
我对脚本注入错综复杂的理解非常好 有限,所以如果你想进一步讨论,也许你可以发帖 jQuery论坛上的一个主题。