繁体   English   中英

在jQuery函数中插入Facebook重定向脚本

[英]Inserting a Facebook retargeting script inside of jQuery function

我在网站上使用了Facebook跟踪像素。 Facebook提供的代码段如下所示:

<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');

fbq('init', '289122114623663');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=289122114623663&ev=PageView&noscript=1"
/></noscript>

通常,我将此代码段放在</body>标记上方,然后以一种愉快的方式进行操作,但是在这种情况下,如果页面上显示某个div,则无需运行此脚本。

我写了一个jQuery if语句,如下所示:

if (!$('.partner-bar').is(':visible')) {
    $("#facebook-pixel").html(""); 
};

我打算将整个Facebook代码段都放在.html()方法中,以为在满足这些条件时将HTML输出到名为#facebook-pixel的div中。 但是jQuery似乎不喜欢使用.html()方法。

有没有更好的方法来解决这个问题?

因此,看起来该问题实际上是空白问题。 我复制粘贴到.html()方法中的代码中有换行符,这破坏了代码...当我删除所有换行符和多余的空格时,它按预期工作。

这是我的最终代码:

if (!$('.partner-bar').is(':visible')) {
      $("#facebook-pixel").html("<script>!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','//connect.facebook.net/en_US/fbevents.js');fbq('init', '289122114623663');fbq('track', 'PageView');</script><noscript><img height='1' width='1' style='display:none'src='https://www.facebook.com/tr?id=289122114623663&ev=PageView&noscript=1'/></noscript>"); 
    };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM