随着Firefox升级到42.0我有一些奇怪的行为..
FB.init({ appId: '{$appid}',status: true,cookie: true,xfbml: true,oauth: true });
但在Firefox中它被阻止,我收到警告:
“https://connect.facebook.net/en_US/all.js”的资源被阻止,因为启用了跟踪保护.
这是默认行为,我没有设置任何额外的安全性或其他什么..
该怎么办?
编辑 – 在帮助和谷歌搜索后,这是一个更大的问题:
结果证明Firefox的Do Not Track和跟踪保护是两个独立的事情:
在首选项/选项>中启用了“不跟踪”.隐私> “告诉那些我不想被追踪的网站”.启用发送DNT标头但不阻止任何请求.
在about:config>中启用了跟踪保护功能. privacy.trackingprotection.enabled.启用不会发送DNT标头,但会根据Disconnect的阻止列表阻止请求.因此检测2并不像检查navigator.doNotTrack那么容易,因为该属性仅设置为1.
解决方案(暂时) – 尝试做FB.init,如果错误做了一些警告..
try { FB.init({ appId: '{$appid}',oauth: true }); }catch(err) { alert('Some info for the user...'); }
有人有更好的解决方案吗?
解决方法
从客户端来看,你做不到.这是Firefox的安全策略.您可以在主题:
https://bugzilla.mozilla.org/show_bug.cgi?id=1226498中阅读有关此问题的信息