【问题标题】:QUOTA_EXCEEDED_ERR during FB.initFB.init 期间的 QUOTA_EXCEEDED_ERR
【发布时间】:2011-12-09 03:54:43
【问题描述】:

在使用 Facebook javascript SDK 创建移动 Web 应用程序时,我有一部 iphone(4,ios5)在 FB.init 期间收到 QUOTA_EXCEEDED_ERR。我的 FB.init 看起来像:

var channel = '//'+(window.location.hostname+((~[80,443].indexOf(window.location.port))?'':(':'+window.location.port))+'/channel.html');
var APP_ID = 'MYAPPIDXXX';
alert('before FB.init');
FB.init({
  appId: APP_ID,
  channelUrl: channel,
  status: true, 
  cookie: true,
  xfbml: true,
  oauth: true
});
alert('after FB.init');

此错误似乎与localStorage有关,但是在手机上清除缓存后仍然出现此错误。

我可以使用仅包含 fb-root 元素和“//connect.facebook.net/en_US/all.js”脚本的 html 页面进行复制(仅在该手机上),然后是上面的脚本。我正在使用 html5 文档类型并在 html 标记中包含 facebook 命名空间。它永远不会达到第二个警报。我的频道文件存在并且正在正确提供。

关于为什么会发生这种情况的任何想法?

谢谢

【问题讨论】:

    标签: facebook local-storage facebook-javascript-sdk


    【解决方案1】:

    在这里找到答案: http://frederictorres.blogspot.com/2011/11/quotaexceedederr-with-safari-mobile.html

    原来有问题的 iphone 在 Safari 设置中启用了“私人浏览”。您可以通过尝试将空字符串设置到本地存储并检查 QUOTA_EXCEEDED_ERR 来检测隐私浏览,如下所示: http://m.cg/post/13095478393/detect-private-browsing-mode-in-mobile-safari-on-ios5

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-20
      • 2012-02-23
      • 2013-11-03
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多