0

Web で使用される Javascript コードと、Phonegap を使用する Android アプリでいくつかの Javascript コードを使用します。

最初、私のコードはデフォルトでローカル ストレージを使用するように設定されていました。ローカル ストレージがない場合は、デフォルトで Cookie が使用されます。

ただし、いくつかのコンテキスト (複雑すぎてここに入ることができない) では、それは機能しないので、別の方法で実行できるかどうかを確認したいと思います: デフォルトで Cookie を使用し、Cookie が使用できない場合はローカル ストレージを使用します。

本当に、Cookie に問題があるのは Android だけなので、基本的に私のコードが Android デバイスで使用されている場合は、ローカル ストレージに切り替えたいと考えています。

いずれにせよ、私が持っているクッキー/ローカルストレージデータを設定するためのコードは次のとおりですが、機能していません:

function setCookie(c_name, value, expiredays)
{
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) +
    ((expiredays === null) ? "" : ";expires=" + exdate.toUTCString());
    if(document.cookie.length < 1 && typeof localStorage != "undefined")
    {
        localStorage.setItem(c_name, value);
    }
}

問題は、それが言うところにあるのではないかと思いますdocument.cookie.length < 1。これは、Cookie が設定されているかどうかを確認する信頼できる方法ですか?

結論: デフォルトで Cookie を確実に設定し、Cookie が存在しない場合に代替手段としてローカル ストレージを使用するにはどうすればよいでしょうか?

4

0 に答える 0