Pet*_*ter 9 javascript firefox facebook
随着Firefox升级到42.0我有一些奇怪的行为..
我正在调用这样的FB.init方法:
FB.init({
appId: '{$appid}',
status: true,
cookie: true,
xfbml: true,
oauth: true
});
Run Code Online (Sandbox Code Playgroud)
但在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}',
status: true,
cookie: true,
xfbml: true,
oauth: true
});
}catch(err) {
alert('Some info for the user...');
}
Run Code Online (Sandbox Code Playgroud)
有人有更好的解决方案吗?
一个简单的谷歌搜索导致此页面:https : //developer.mozilla.org/en-US/Firefox/Privacy/Tracking_Protection
您应该能够在出现消息的位置或通过停用该功能about:config。实际上,默认情况下应停用它afaik。
小智 4
从客户端来看,你不能。这是 Firefox 的安全策略。您可以在线程中阅读有关此问题的信息:https://bugzilla.mozilla.org/show_bug.cgi ?id=1226498
| 归档时间: |
|
| 查看次数: |
12079 次 |
| 最近记录: |