首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在本地包含https://connect.facebook.net/en_US/fbevents.js,但收到Facebook像素错误

尝试在本地包含https://connect.facebook.net/en_US/fbevents.js,但收到Facebook像素错误
EN

Stack Overflow用户
提问于 2017-08-12 07:28:57
回答 1查看 4.6K关注 0票数 0

在firefox中,我得到了

代码语言:javascript
复制
Facebook Pixel Error: TypeError: cd is undefined

代码语言:javascript
复制
Facebook Pixel Error: TypeError: Cannot read property 'replace' of undefined

这个html

代码语言:javascript
复制
<script type="text/javascript">
!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]}(window,document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq("init","1111111111111111");fbq("track","PageView");
</script>
<script type="text/javascript" src="/js/fbevents.js" async="async"></script>

/js/fbevents.js的内容与https://connect.facebook.net/en_US/fbevents.js相同。你知道为什么会出现这些错误吗?

已修改内联脚本,并从此示例https://developers.facebook.com/docs/ads-for-websites/pixel-events/v2.10中删除了s.parentNode.insertBefore(t,s)

看起来它试图加载但失败了.fbevents.js底部的这个JS触发的https://connect.facebook.net/signals/config/1111111111111111?v=2.7.19

代码语言:javascript
复制
fbq.registerPlugin("global_config", {
__fbEventsPlugin: 1,
plugin: function(fbq, instance) {
    fbq.loadPlugin("opttracking");
    fbq.loadPlugin("performance");
    instance.configLoaded("global_config");
}
});

注意1111111111111111不是真正的PIXEL_ID,真正的PIXEL_ID返回的是合法的JS。

EN

回答 1

Stack Overflow用户

发布于 2017-08-12 08:36:09

修改fbevents.js以在wb正则表达式失败时提供ac和bc智能默认值可以解决此问题。

代码语言:javascript
复制
function xb() {
    var ac = 'https://connect.facebook.net',
        cc = rb.getElementsByTagName('script'),
        bc = cc[0];
    for (var dc = 0; dc < cc.length && !ac; dc++) {
        var ec = cc[dc].src.split(wb);
        if (ec.length > 1) {
            ac = ec[0];
            bc = cc[dc];
        }
    }
    return {
        baseURL: ac,
        scriptElement: bc
    };
}

在此之前

代码语言:javascript
复制
function xb() {
    var ac = null,
        bc = null,
        cc = rb.getElementsByTagName('script');
    for (var dc = 0; dc < cc.length && !ac; dc++) {
        var ec = cc[dc].src.split(wb);
        if (ec.length > 1) {
            ac = ec[0];
            bc = cc[dc];
        }
    }
    return {
        baseURL: ac,
        scriptElement: bc
    };
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45645045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档