QUOTA_EXCEEDED_ERR во время FB.init - PullRequest
3 голосов
/ 09 декабря 2011

При создании мобильного веб-приложения с использованием javascript SDK Facebook у меня есть один iphone (4, ios5), который получает QUOTA_EXCEEDED_ERR во время FB.init.Мой 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, однако после очистки кеша на телефоне все равно возникает ошибка.

Я могу воспроизвести (только на этомодин телефон) с html-страницей, в которой есть только элемент fb-root и скрипт «//connect.facebook.net/en_US/all.js», за которым следует скрипт выше.Я использую тип документа html5 и включаю пространство имен facebook в тег html.Это никогда не достигает второго предупреждения.Мой файл канала существует и обслуживается правильно.

Есть идеи, почему это происходит?

Спасибо

1 Ответ

1 голос
/ 09 декабря 2011

Нашел ответ здесь: 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...