SORU
28 Ocak 2013, PAZARTESİ


Safari ile html5 localStorage hata: "QUOTA_EXCEEDED_ERR: 22 özel Durum DOM: Bir girişim kotasını aştı depolama için bir şey eklemek için yapıldı&."

Benim özel web tarama safari: ios javascript hataları var

JavaScript:error
undefined
QUOTA_EXCEEDED_ERR:DOM Exception 22:An attempt was made to add something to storage...

benim kod:

localStorage.setItem('test',1)

CEVAP
28 Ocak 2013, PAZARTESİ


Görünüşe göre bu, tasarım gereğidir. Safari (OS X veya iOS) gizli tarama modundayken, localStorage kullanılabilir gibi görünüyor, ama setItem aramaya çalışırken, bir özel durum atar.

store.js line 73
"QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota."

Ne pencere nesne hala genel ad localStorage ortaya çıkaran, ama setItem, çağırdığınızda bu özel durum. removeItem herhangi bir çağrı göz ardı edilir.

En basit düzeltme henüz bu çapraz tarayıcı test etmedim, ancak () işlevi isLocalStorageNameSupported() de bazı değer ayarlayabilirsiniz test etmek için değiştirmek için olacağına inanıyorum.

https://github.com/marcuswestin/store.js/issues/42

function isLocalStorageNameSupported() 
{
    var testKey = 'test', storage = window.sessionStorage;
    try 
    {
        storage.setItem(testKey, '1');
        storage.removeItem(testKey);
        return localStorageName in win && win[localStorageName];
    } 
    catch (error) 
    {
        return false;
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • backyardjay

    backyardjay

    8 ŞUBAT 2009
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010