【问题标题】:Facebook Pixel ReferenceError: Set is not defined (<IE11)Facebook 像素参考错误:未定义集 (<IE11)
【发布时间】:2017-11-14 09:43:29
【问题描述】:

我们正在尝试在网站上实现 Facebook Pixel,它可以在除 Internet Explorer 11 或更低版本之外的所有浏览器中运行。我们得到的确切错误是:Facebook Pixel Error: ReferenceError: Set is not defined。

我们无法找到有关此错误的任何信息。

【问题讨论】:

    标签: javascript facebook-pixel


    【解决方案1】:

    我也见过这个。我不认为 IE11 及以下版本支持 Set 作为其相对较新的 ES6 功能,但我不确定 Pixel 代码为何尝试在这些环境中使用它。

    可能相关,您是通过 GTM 加载 Facebook Pixel 吗?

     function p() {
                var s = []
                  , t = b.querySelectorAll('[itemscope]')
                  , u = new Set();
                for (var v = t.length - 1; v >= 0; v--) {
                    var w = t[v]
                      , x = w.querySelectorAll('[itemprop]')
                      , y = w.getAttribute('itemtype');
    

    更新: 向 Facebook 报告此错误后,现已解决。


    现在应该解决了。感谢您举报此问题,并感谢您在我们解决此问题时的耐心等待。请确保您没有缓存旧版本的文件。

    谢谢,

    内存

    【讨论】:

    • 是的,事实上我是通过GTM加载像素的,虽然当我们将它改为直接加载像素时,它没有任何效果。
    • 我们在 facebook 平台上填写了错误报告。这可能是一个漫长的过程......感谢您尝试直接方法(并为我节省了一个实验)我曾考虑过他们基于一些可能通过 GTM 加载而受到损害的 hacky 检测为 ES6 提供服务的可能性,但似乎并非如此。 developers.facebook.com/bugs/305206443266436
    • 来自 Facebook 团队:感谢您提供额外的背景信息。我们已经设法重现了这个问题,它似乎是一个有效的错误。我们正在将其分配给适当的团队。拉姆
    猜你喜欢
    • 2020-04-21
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    • 2021-07-15
    相关资源
    最近更新 更多