2017-12-19 8 views
3

js-cookieを使用するWebアプリケーションを構築しています。iSデバイスではなくAndroid上で動作するjs-cookieライブラリ

<script src="https://cdnjs.cloudflare.com/ajax/libs/jscookie/2.1.4/js.cookie.js"></script> 

マイJS-クッキーのコードはAndroidデバイスで完璧に動作します:クッキーが作成され、取得され、期待と同じように私は私のhtml/javascriptのファイルにJS-クッキーライブラリをインポートするには、次を使用します。ただし、iOSデバイス(iPhone)で実行された場合、同じコードがCookieの書き込み/読み取りに失敗します。ブラウザは問題ではありません。私はiOS用のSafari、Chrome、Firefoxの最新バージョンでテストしました。

iOSデバイスでCookieを読み込もうとすると、クッキーが書き込まれると、定義されていない状態に戻ります。

//Set expiration cookie... 
    nowDate = new Date(); 
    expiresDate = new Date(nowDate.getTime() + (120 * 120000)); 
    //cookie expires in 4 hours 
    Cookies.set('expires', expiresDate, { expires: expiresDate }); 

これらのCookieを読み取るために、任意のその後の試みはなく、iOSデバイス上で、Androidデバイス上で完璧に動作します:ここで私はクッキーを書き込むために使用したコードの抜粋です。

expiresCookie = Cookies.get('expires'); //get expiresCookie 

私は間違って何をしていますか?

答えて

2

iOsで使用するブラウザは、Safariエンジンなので、影響はありません。 iOsでは、クロム、ファイアフォックスなどはサファリウェブビューのフレームにすぎません。それはプロのヒントです。

今、問題が発生しました。あなたは古典的なクッキーAPIにアクセスできますか?

document.cookie 

いいえ、あなたは非常に大きな問題があります。おそらくあなたはすでにiOS 11に移行し、クッキーなしポリシーに含まれている可能性があります: http://adage.com/article/digitalnext/ios-11-kill-cookie/311444/ または、広告ブロック/非対応の機能を有効にしている可能性があります。

+0

@SpeedGolfer、これが問題なのかどうか確認してください。 –

+0

@FagnerBrack:これが問題であることを確認できるかどうかをお知らせします。現時点では、私はiOSにもっと親しみやすい代替手段としてlocalStorageの使用を検討しています。 – SpeedGolfer

+0

はい、私はそれがよりフレンドリーで信頼性が高いことを確認します。ヨーロッパの訪問者にとって、localstorageはクッキーとプライバシーに関する大きな法律には関係していません – MathKimRobin

0

まず、スクリプトにリンクするのに問題があると思います。もしあなたがアンドロイドの最初のテストをしたことがあっても、あなたのデバイスはまだこのファイルをあなたのキャッシュに保存しています。

最新バージョンを持つために、このURLを試してください:httpではなく(http://domain/file.html):あなたのURLは(///.../file.htmlファイル)ファイルの場所にないことも確認し、その後https://cdnjs.cloudflare.com/ajax/libs/js-cookie/latest/js.cookie.js

を。ドメインとhttp通信がない場合、ブラウザはCookieを保存しません。

関連する問題