firefox跟踪保护阻止facebookjs-sdk的异步加载

firefox tracking protection blocks async load of facebook js sdk

本文关键字:异步 加载 facebookjs-sdk 跟踪 保护 firefox      更新时间:2023-09-26

我正在我的项目中异步加载facebookjs-sdk,代码如下:

window.fbAsyncInit = function () {
    FB.init({
        appId: settings.facebookAppId,
        cookie: true,  // enable cookies to allow the server to access the session
        xfbml: true,  // parse social plugins on this page
        version: 'v2.0' // use version 2.0
    });
    FB.Canvas.setAutoGrow();
};
// Load the SDK asynchronously
(function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s);
    js.id = id;
    js.src = "//connect.facebook.net/de_DE/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

自从萤火虫追踪保护以来,这对我来说很好。我注意到firefox42.0中的跟踪保护阻止了facebookjs-sdk的异步加载。

但它似乎只是在我没有登录facebook时才被屏蔽。

有人知道如何解决这个问题吗?

非常感谢!

跟踪保护(在Firefox 42+中默认启用)在私人浏览模式下阻止来自预定义域集的任何资源。

从版本42开始,Firefox Desktop和Firefox for Android包括内置的跟踪保护。在私人浏览窗口中(选项卡,在Firefox for Android中),Firefox将阻止从跨站点跟踪用户的域。

https://developer.mozilla.org/en-US/Firefox/Privacy/Tracking_Protection

默认情况下,跟踪保护当前使用disconnect.me的基本列表。

脚本是异步加载的,这一事实与其被列入黑名单的域无关。

即使您自己托管JavaScript文件,对Facebook域的任何请求也会被阻止。

因此,允许这些请求的唯一方法是在浏览器中禁用跟踪保护。