私はcookieチェッカー機能を持っています。これはvar 'cookie1'に値の変数を格納します。 そして、sessionStorageストレージクッキー。sessionStorageのサポートを確認する最もエレガントな方法は?
if (cookie1 == '9oz' | sessionStorage.getItem('sessionstoragecookie1') == '9oz')
{
// execute code 1
}
else
{
// execute code 2
}
しかし、IE6とIE7ではsessionStorageはサポートされていません。そのため、エラーが発生し、スクリプト全体が中断されます。私はこれのようなことをすることができますが、これは絶対にエレガントではありません。これを最もうまく処理する方法は何ですか?それはundefined
ある場合
if (cookie1 == '9oz')
{
// execute code 1
}
else
{
if (typeof(sessionStorage) !='undefined')
{
if (sessionStorage.getItem('sessionstoragecookie1') == '9oz')
{
// execute code 1
}
else
{
// execute code 2
}
}
else
{
// execute code 2
}
}
悲しいことに、この部分の&& window.sessionStorage.getItem( 'sessionstoragecookie1')== '9oz' 'はオブジェクトまたはメソッドをスローしますが、Internet Explorer 6/7ではサポートされていません。 – user900973
@ user900973:まず、window.sessionStorageが存在するかどうかをチェックするので、しないでください。そのコードは実行される場合にのみ実行されます。 – Matt