2015-11-19 6 views
12

の非同期ロード、私は次のコードで私のプロジェクトでのFacebook JS SDK非同期をロードしています:Firefoxの追跡保護ブロックのFacebook JS 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')); 

これはFirefoxの追跡保護のため、私のためにうまく働きました。 私は、firefox 42.0では、トラッキング保護がfacebook js sdkの非同期ロードをブロックしていることに気付きました。

しかし、私はFacebookにログインしていないときはブロックされているようだ。

誰もこの問題を解決する方法を知っていますか?

多くの感謝!

+0

それは2016年ですがまだ答えはありませんか? : 今のところQAエンジニアにトラッキング保護をオフにするよう依頼しました:D –

+0

うん、それを無効にする方法は唯一のようだ... –

+0

あなたはそれが非同期的に読み込まれたスクリプトで、 ? – PHPglue

答えて

2

トラッキングの保護(Firefox 42+ではデフォルトで有効になっています)は、プライベートブラウジングモードの間に、事前定義されたドメインのセットからリソースをブロックします。

バージョン42以降、FirefoxデスクトップとAndroid用Firefox には、トラッキング機能が組み込まれています。プライベートブラウズウィンドウ (AndroidのFirefoxではタブ)では、サイト全体のユーザーを追跡するドメイン から読み込まれたコンテンツはFirefoxによってブロックされます。

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

追跡保護は現在、デフォルトでdisconnect.meの基本的なリストを使用しています。

スクリプトが非同期に読み込まれるという事実は、ブラックリストに載っているドメインとは無関係です。

JavaScriptファイルを自分でホストしても、Facebookドメインへのリクエストもブロックされます。

これらの要求を許可する唯一の方法は、ブラウザのトラッキング保護を無効にすることです。

関連する問題