ユーザーにhtmlファイルをダウンロードしてもらい
ローカル環境で使用してもらうことを想定しています
- Electron等は使わない
- 単一のhtmlファイルのみで完結する
- ヘッダにはCookieをセットする記述はしない(javascript内のみ)
- Chrome IE FireFox Safari での使用を想定
- Web StorageとCookieをそれぞれ対応している環境に合わせて使い分ける
- CookieにはSecure属性、HttpOnly属性は指定しない
現時点で特に動作に問題があるわけではないのですが
ブラウザのデベロッパーツール内にCookie内容が表示されない問題が起こっています
test.html(一部抜粋)
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>JavaScript テスト</title> </head> <body> <script type="text/javascript"> // try catch function enable_check(){ // ::フェーズ 1:: // LocalStrage対応してる? if (typeof(Storage) === "undefined"){ alert('not support'); }else{ console.log('Support'); // ::フェーズ 2:: //localStrage対応なら、テストでストレージをセット try { message = 'it is a test, can you see it in dev panel ?'; localStorage.setItem('test', message); if(typeof localStorage.test !== "undefined"){ console.log("localStorage is eneble in Local "); } } catch (e) { console.log(e); // ::フェーズ 3:: // キャッシュがあるか if(document.cookie !== ""){ console.log("ある"); var w = document.cookie.split( '; ' ); alert(w); }else{ // なければ作成 var expire = new Date(); expire.setTime( expire.getTime() + 1000 * 60 ); document.cookie = 'data=123;expires=' + expire.toUTCString(); document.cookie = 'data2=abc;expires=' + expire.toUTCString(); console.log("ない"); } } } } enable_check(); </script> </body> </html>
::フェーズ 1:: は四つ全てのブラウザで真
::フェーズ 2:: でエラーを吐くのがIEとSafariです(ローカルでのWeb Storage使用不可)
::フェーズ 3:: へとIEとSafariが進みます(Cookieを使用する)
上記はファイルの一部を抜粋、改変したものです
アプリケーションとしての開発は終わっており、全体の動作としては問題なく動くのですが、ブラウザのデベロッパーツール内にCookieが表示されません(Safari)(IE)
javascriptでのCookieは文字列としての扱いとのことで
::フェーズ 3:: 内に変更があったとしても、文字列処理を書き直すことで
問題なく動作させることができるはずだと、見当しています。
質問としては
どうすればデベロッパーツール内にCookieを表示することができますか?
ということになります
([webインスペクタ] -> [ストレージ] 内にcookie内容を表示したい)
javascriptによるcookieの内部処理
正式な記法、等について、詳しい方がいらっしゃいましたら
ご教授願います
Safariでの表示
↓ 上記ファイル、リロードするとアラートが表示される
↓ コンピューターローカルの書類としてのcoockieが保存されていることが確認できる
↓ アラートとしてCookieを表示させることはできているがデベロッパーツールには
Cookieが表示されない

環境
mac OS Sierra 10.12.6

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/26 12:13