• ベストアンサー

クッキーの記述を最短に

こんにちは。 今日で2度目になってしまうのですが、失礼します。 ホームページのCSSをjavascriptで変更、その設定をクッキーを使って保存しておきたくて調べたのですが、どのホームページも記述が長く、コンパクトにしているところがなかなかありません。 そこで、なるべく短くクッキーを利用する方法を教えていただきたいのです。 条件は以下2点です。 ・初期設定はbase.cssにしたい ・記録したいのは、CSSの相対パスただ1つ お手数をかけますが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

var pStr = 'CSSの相対パス'; var t = new Date(); t.setTime(t.getTime() + 7 * 1000 * 60 * 60 * 24); //有効1週間 document.cookie = 'path=' + escape(pStr) + ';expires=' + t.toGMTString(); (↑)程度でも(書き込みのみ)長いとおっしゃるのでしたら、こんなのを利用されてはいかが?(一応、1~2行で読み書きができるみたい・・・)  http://phpspot.org/blog/archives/2006/11/javascriptcooki.html

noname#77303
質問者

お礼

回答ありがとうございます。 4行で記録が出来るとは大変短いですね。 僕が調べたものよりうんと短いです。 出来れば、これに加えて呼び出す方法を教えていただけませんか? クッキー記録時は記録しておいたCSSを、それ以外は初期設定のCSSを呼び出すようにしたいのですが・・・。

その他の回答 (1)

noname#108740
noname#108740
回答No.2

この関数でどうでしょう? ---- function setCookie(name, value, expires) { var d = new Date(); d.setDate(d.getDate() + expires * 1000 * 60 * 60 * 24); var cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value); cookie += ";expires=" + d.toGMTString(); document.cookie = cookie; } function getCookie(name) { var cookies = document.cookie.split("; "); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i].split("=", 2); if (decodeURIComponent(cookie[0]) == name) { return decodeURIComponent(cookie[1]); } } }

関連するQ&A