1
if (localStorage)
{
    var menushown = JSON.parse(localStorage.getItem("menuState"));
    if (!menushown)
    {
        menushown = menuDefaultState;
    }
} 
else
{
    menushown = menuDefaultState;
}

上記の JavaScript は Opera 10.10 で失敗します。2行目でlocalStorageが未定義であると不平を言っています。これは本当ですが、最初の行のチェックにより、2 行目に到達することはなく、失敗することもありません。私は何を間違っていますか?

4

1 に答える 1

1

を使用if(window.localStorage)してください。現在のコードでは、互換性のないブラウザで警告またはエラーが発生する可能性があります。

localStorage は 10.50 以降の Opera でのみ利用可能であり、少なくとも私にとっては、あなたのコードでうまく動作します。

于 2010-01-27T16:30:49.917 に答える