このCookieの関数を、使い方はそのままでWebStorageに保存するように変えるにはどうすればいいでしょうか。よろしくお願いします。
function setCookie(name, value, days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
const expires = "expires=" + date.toUTCString();
document.cookie = name + "=" + value + ";" + expires + ";path=/";
}
function getCookie(name) {
const nameEQ = name + "=";
const ca = document.cookie.split(';');
for (let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
cookieは保存されている情報をWEBにアクセスしたタイミングで先行しておくることがきます
かりにlocalStorageを使用したとしてもWEB側でそのデータに直接アクセスできないので代替性は微妙です。cookieは普通js-cookieなどのライブラリを使えばそれほど苦にはならないと思いますが・・
No.3
- 回答日時:
こんばんは
WebStorageとCookieの違いの一つに、期限を設定しないということがあります。
WebStorage(→localStorage)の場合は、削除しない限りデータは保持し続けられます。
(ですので、引数daysの指定は無視します)
◇ ご提示の関数を無条件で書き換えるので良ければ、
function setCookie(name, value, days) {
localStorage.setItem(name, value);
}
function getCookie(name) {
return localStorage.getItem(name);
}
◇ localStorageが使えるかの環境をチェックして、使えるならlocalStorageをそうでなければCookieをというように動的に書き換えるなら、ご提示の関数に加えて・・
if(!!window.localStorage){
setCookie = (k, v) => localStorage.setItem(k, v);
getCookie = k => localStorage.getItem(k);
}
のような感じで実現できるでしょう。
※ 実は上記のチェックは簡易的なものなので、厳密なチェックは行っていません。(例えば、ユーザがブロックしているような場合)
厳密にチェックを行いたい場合は、以下にある検出関数をご利用ください。
https://developer.mozilla.org/ja/docs/Web/API/We …
No.1
- 回答日時:
Webブラウザ上に表示したページからクライアント側に情報を保存できるのはCookieに対してだけです。
この制約があるため、Webブラウザ上に表示したページからWebStrage上に情報を保存することはできません
Cookie以外への保存は、利用者が意思を持って自身の操作で情報を保存やコピペしてもらうことしかできません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Cookieに保存されない 1 2023/12/26 18:45
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript disabled プロパティが表示されない原因が分からない 2 2024/02/10 21:44
- JavaScript 出発駅A、到着駅Bを選択すると、2.3㎞と170円と返るようにしたいです。 1 2024/01/26 08:33
- JavaScript メールフォームの日付入力フォームで過去の日付で範囲指定する方法が分かりません 3 2024/04/05 17:43
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript JavascriptでDom XSSの脆弱性対策を行いたい 2 2023/09/24 21:20
- JavaScript JavascriptでDOM-based XSSの発生源となるinnerHTMLを変更したい 2 2023/08/29 22:11
- JavaScript Q&A掲示板の入力フォームに文字数制限を設けて入力可能な文字数を表示したい 1 2024/04/08 02:46
- JavaScript HTMLとJavaScriptで作ったタイマーアプリが正常に動作しない 7 2023/12/15 19:32
このQ&Aを見た人はこんなQ&Aも見ています
-


jsで質問です。 formをsubmitしてサーバー側で処理が行われて処理が完了したら、フロント側で
JavaScript
-


JavaScriptを本で勉強しています。 ほんとのほんとの序盤なのですが、 本の内容に、vscod
JavaScript
-


<tr>指定した表の行要素をボタンクリック後に表示させる方法
JavaScript
-
-
4

プログラミングについて プログラミングの練習(勉強)ができるようなサイトなどありませんか? あれば教
その他(プログラミング・Web制作)
-
5

プログラミングの進学について
その他(プログラミング・Web制作)
-
6

Web初心者です。 簡易的なWebページを作成し
その他(プログラミング・Web制作)
-
7

検索1位なのに依頼がない
SEO
-
8

至急助けてください!!!あと2時間しかないです! ボタンを押したら0ランプが点灯し、コンマ5秒後に1
その他(プログラミング・Web制作)
-
9

検索エンジンはなくなる?
SEO
-
10

日立製作所とか富士通ってIT企業なんですか? メーカーじゃないんですか? メーカーとIT企業(SIe
システム
-
11

Javascript で条件分岐を使い共通コードをまとめる方法が分かりません
JavaScript
-
12

Webサイトの「デザインのみ(コーディング不要)」を依頼されました。 「レスポンシブデザイン」を希望
HTML・CSS
-
13

htmlが簡単に作成できるアプリについて
HTML・CSS
-
14

プログラミングに興味があるのですが、作りたいものはありません。 ゲーム機とかパソコンの中身(ソースコ
その他(プログラミング・Web制作)
-
15

ラジオボタンを複数選択したときの条件分岐をしたい
JavaScript
-
16

submitで思うようにページが遷移しない
PHP
-
17

プログラマー達は何故、プログラムを入れるフォルダーに容量制限があるのを知らない?
C言語・C++・C#
-
18

HTML/CSSを使って写真のようなレイアウトにするにはどのようにすれば良いですか。
HTML・CSS
-
19

アップロードファイルを表示するためにはどうすればよいでしょうか?
PHP
-
20

大至急お願いします!!!! 訳あってPCを強制シャットダウンしたのですが、 それによってデータが破損
その他(OS)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンを押したあとに画像を表...
-
スマホ上で、左右スワイプで次...
-
ラジオボタンを複数選択したと...
-
jsonテキストデータの並び替え...
-
Adobe acrobat proでフォームを...
-
画面に表示したらアニメーショ...
-
2025年相性がいい人のサイトの...
-
jQueryでのレスポンシブが綺麗...
-
jsで質問です。 formをsubmitし...
-
二次元配列を使って順位をだす...
-
【JS】selectでchangeした時の...
-
sessionStorageを調べています。
-
jsで質問です。 ボタンが二つ存...
-
ブックマークレットについて
-
タグを教えてください。
-
CookieをWebStoeageに変える
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
タグを教えてください。
-
jqueryのselect2で検索欄の文字...
-
jsonテキストデータの並び替え...
-
初心者です。gulpでコンパイル...
-
ラジオボタンを複数選択したと...
-
階層別の組織図の自動作成について
-
jQueryで同じクラス名のものを...
-
二次元配列を使って順位をだす...
-
読み込んだQRコードをフォーム...
-
画面遷移を行わずに同一ページ...
-
セレクトを全て選択されていな...
-
【Google Apps Script】「ライ...
-
Adobe acrobat proでフォームを...
-
二次元配列の全要素の全要素を...
-
【GAS】WEBアプリでハイパーリ...
-
GASでGoogleフォームの自動返信...
-
フォームが空欄の時にフォーム...
-
セレクトボックスで配列を呼び...
-
イラストレーター、縦中横のシ...
おすすめ情報










