Защита отслеживания firefox блокирует асинхронную загрузку facebook js sdk
Я загружаю 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.
У кого-нибудь есть идея, как решить эту проблему?
большое спасибо!
Ответы
Ответ 1
Защита отслеживания (включена по умолчанию в Firefox 42+) блокирует любые ресурсы из предопределенного набора доменов в режиме приватного просмотра.
Начиная с версии 42, Firefox Desktop и Firefox для Android включают встроенную защиту слежения. В окнах частного просмотра (вкладки, в Firefox для Android), Firefox будет блокировать контент, загруженный из домены, которые отслеживают пользователей на разных сайтах.
https://developer.mozilla.org/en-US/Firefox/Privacy/Tracking_Protection
В настоящее время защита отслеживания использует disconnect.me основной список.
Тот факт, что script загружается асинхронно, не имеет значения, так как его домен, занесенный в черный список.
Даже если вы размещаете файл JavaScript самостоятельно, любые запросы на домены Facebook также блокируются.
Таким образом, единственный способ разрешить эти запросы - отключить защиту отслеживания в браузере.