2

私はGoogle Devを見つけ、ここに投稿しました(そしてGoogleの他の多くの最初のページの結果)はそれがそうです. (彼らが実践を促進しているように聞こえます)しかし、W3C docで彼らは言い、私は「...モバイルのコンテキストでは、Cookie のサポートは、デバイスの構成またはモバイル ネットワークによって無効にされている可能性があるため、信頼できません。 "

はいの場合、Cookie が無効になっている場合はどのように処理すればよいですか?

いいえの場合、他にどのようなオプションを検討する必要がありますか?

4

2 に答える 2

1

Cookie は、 の応答で到着し、Set-Cookieの要求で応答するいくつかのヘッダーに他なりませんCookie。実際、ブラウザーが PC またはモバイル (Chrome、Dolphin など) で実行されているかどうかに関係なく、ブラウザーで Cookie が無効になっている場合があります。ブラウザレベルでは、これらのヘッダーを無視するかどうかがすべてだと思います。そのため、モバイル ブラウザーでは異なるように見える Web サイトを構築している場合や、モバイル ブラウザーで表示したい場合WebViewは、この問題に遭遇する可能性があります。したがって、この道を進む場合、Cookie を使用するのはそれほど安全ではないかもしれません。ただし、WebViewを使用することである程度の柔軟性を提供できますCookieManager

ネイティブ アプリを構築していて、http コンテンツと Cookie を提供するサーバー API をターゲットにしている場合は、状況が変わります。使用しているhttp エンジンに応じて、これらの Cookie を管理するためにjava.net.CookieHandler、どちらかを使用することを選択できます。CookieStoreまたは、必要に応じて、Cookie のフィルタリング、更新、削除などを行う独自の Cookie ストア API を作成することもできます。このパスを使用する場合は、Cookie を使用することをお勧めします ...

私は iOS の専門家ではありませんが、iOS ネイティブ アプリにも同じことが当てはまると思います。ヘッダーの読み取り/書き込み、特に Cookie 管理のための API が必要です。

于 2013-10-22T09:08:45.193 に答える
0

You can use the Web Storage API from HTML 5, which is already largely compatible with almost every browser around, as you can see here: Web Storage Compatibility

WebStorage and SessionStorage can be used exatcly like a cookie, storing key/value pairs, but have the advantage that they are not sent back and forth from your server to the client, but are instead stored on your mobile.

More over, they are really easy to use, as much as this:

if ( typeOf(Storage) !== "undefined" ) {
    localStorage.setItem('some_key','some_value')
    var myVal = localStorage.getItem('myKey')
}


However, you should use a more sofisticated check in production (e.g. Modernizr)


As their names suggest, the SessionStorage is emptied on the end of the current session, while the LocalStorage is persistent through the sessions.

于 2013-10-22T09:06:30.923 に答える