<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>localStorage &#8211; Mach3.laBlog</title>
	<atom:link href="https://blog.mach3.jp/tag/localstorage/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.mach3.jp</link>
	<description></description>
	<lastBuildDate>Wed, 13 Aug 2025 06:02:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>SVG Colk Board で Vuex を使ってみた話</title>
		<link>https://blog.mach3.jp/2018/08/06/svgcolkboard-with-vuex.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Sun, 05 Aug 2018 22:39:24 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[localStorage]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Vue]]></category>
		<category><![CDATA[Vuex]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=4430</guid>

					<description><![CDATA[先日リリースしたWebアプリ「SVG Colk Board」の紹介と、 その中身の話を少し綴っておきます。 SVG Colk Board を作った話 SVG Colk Board これは何？ Illustrator 上で [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>先日リリースしたWebアプリ「SVG Colk Board」の紹介と、 その中身の話を少し綴っておきます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/Q6wVIsl911oqKE_s8_1B8U7lrpd6z5I6juY0Pm4ZQYCNiBQiTFtX_W0uWzDRU1gLE2PzdDu3PNmiHgrFUqafRIq8mJImNhPFXEb28mhTS4uEzxeD5yUDxiCXUKiPXO7u1W1RxcHUUQ=w1200-h630-no" alt=""/></figure>



<p></p>



<span id="more-4430"></span>



<h2 class="wp-block-heading">SVG Colk Board を作った話</h2>



<p><a href="https://colkboard.netlify.com">SVG Colk Board</a></p>



<h3 class="wp-block-heading">これは何？</h3>



<p>Illustrator 上で図をコピーしてテキストエディタにペーストすると、SVGが出力されます。 しかし、そこで出力されるSVGは不要な記述も多く、末尾に付加されている謎文字のおかげで正常に表示されません。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/dpFNQv8ZK29VeQYJstKNhjaS0fiV3kHAE7el-OW2QO4IvcpSvX5x8KlW8ElqCciEhRn76u6sR2xk0paSmH2-5WisWehSuuqh81yh5XBhN5MVfHqZjoULSQBsk69gO-rYRYBZNKQnUQ=w1200-h480-no" alt=""/></figure>



<p></p>



<p>これらをクリーンに最適化する為に作ったのが SVG Colk Board です。</p>



<h3 class="wp-block-heading">使い方</h3>



<ol class="wp-block-list">
<li>Illustrator上で図をコピーする</li>



<li>それを SVG Colk Board 上でペーストする</li>



<li>配置された図を選択すると「SVG」「DataURI」ボタンが表示される</li>



<li>「SVG」「DataURI」のボタンをクリックすると、それぞれ最適化された結果がクリップボードにコピーされる</li>



<li>結果をテキストエディタにペースト</li>
</ol>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/SUNW2kVI7ky6Odgavh3-g5rTmJ3q--p_cSl6vDjXj-PJt-o9kLKsqfCkUrgz-qvm6Ar0E0v5izvtxxkW7R31t3eMaAFgD1zb25doXOPuU6xqOiCTxKQmsujJO0OF8GMhOy0QHhB8nQ=w1200-h800-no" alt=""/></figure>



<p></p>



<ul class="wp-block-list">
<li>ペーストした図のデータは localStorage に保存されるので、ブラウザを閉じた後も保持されます</li>



<li>つまり貼り付けられる図の数は localStorage の容量依存です</li>



<li>もちろんブラウザをまたいでは保持されません</li>
</ul>



<h2 class="wp-block-heading">SVG Colk Board の中身</h2>



<p>このアプリケーションは <a href="https://jp.vuejs.org/index.html">Vue.js</a> で作られています。 そして Vue と共に利用しているのが <a href="https://vuex.vuejs.org/ja/">Vuex</a> と <a href="https://github.com/robinvdvleuten/vuex-persistedstate">vuex-persistedstate</a> です。</p>



<h3 class="wp-block-heading">Vuex</h3>



<p>ここでは詳しい説明を省きますが、 Vuexとは、中規模以上のアプリケーション開発向けの状態管理ライブラリで、 公式ではこのように説明されています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Vuex は Vue.js アプリケーションのための 状態管理パターン + ライブラリです。 これは予測可能な方法によってのみ状態の変異を行うというルールを保証し、アプリケーション内の全てのコンポーネントのための集中型のストアとして機能します。<br /><a href="https://vuex.vuejs.org/ja">https://vuex.vuejs.org/ja</a></p>
</blockquote>



<p>簡潔に言うと、状態管理にストア（store）という概念を導入する為のライブラリです。 以下、ものすごくざっくりとした説明をします。</p>



<p>Vue.js のコンポーネントは各々が持つ data の値を基にビューを構築・描画し、必要に応じて処理を行います。 store というのはその data に似た振る舞いをしますが、 data が値へのアクセスで直接変更出来るのに対し、 store はセッターのようなメソッドを介してのみ値を変更する事ができ、 それにより値を保護し、変更を集中管理する事ができます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/dQdUmU0-qeNxQBzUeWfUnx2-eu9AUC5Rx6ZnxT6hkE4yMs0RI2n3AVt2eL0vZzR_Z_KPZBQs3fyimpE6MyN3HvJtt3OOoGbuPXK4BlpCpmJ3wHIJtuuQveiFGPj5MTluMQbgY2doHg=w1200-h800-no" alt=""/></figure>



<p></p>



<p>ざっくりしすぎていてあまりイメージし辛いかと思いますので、下記ページを参考にしてください。</p>



<ul class="wp-block-list">
<li><a href="https://jp.vuejs.org/v2/guide/state-management.html">状態管理 — Vue.js</a></li>
</ul>



<p>先に述べた通り、中規模以上のプロジェクトでなければあまり恩恵にあずかれず、冗長になるだけと感じるかもしれません。 しかし、Vue.js を採用するという事は、ある程度の規模のあるプロジェクトとなる予測が立つとも言えるので、 転ばぬ先の Vuex を問答無用で入れてしまうのも選択肢の一つだと考えられます。</p>



<h3 class="wp-block-heading">vuex-persistedstate</h3>



<p>今回作った様なミニマムなアプリケーションでは正直Vuexは不向きな気がします。 それでもVuexを導入したのは、半分はVuexで習作してみるため、 もう半分はこの <strong>vuex-persistedstate</strong> を使うためです。</p>



<ul class="wp-block-list">
<li><a href="https://github.com/robinvdvleuten/vuex-persistedstate">robinvdvleuten/vuex-persistedstate: <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4be.png" alt="💾" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Persist Vuex state with localStorage.</a></li>
</ul>



<p>vuex-persistedstate は、Vuexのストアの中身（state）をまるっとlocalStorageに保存してくれるプラグインです。 Vuexでストアを書く時にちょっとインポートしてやれば簡単に導入できます。 （下記はREADMEのコードそのままです）</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">import</span> createPersistedState <span class="hljs-keyword">from</span> <span class="hljs-string">"vuex-persistedstate"</span>;

<span class="hljs-keyword">const</span> store = <span class="hljs-keyword">new</span> Vuex.Store({
  <span class="hljs-comment">// ...</span>
  <span class="hljs-attr">plugins</span>: &#91;createPersistedState()]
});
</code></span></pre>


<p>これで（同じブラウザで見る限りは）ページの状態を永続化できるという寸法です。 なんて便利なんでしょうか！</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>もともとはイラレが吐き出すSVGを最適化する事しか考えてなかったのですが、 ちょうどよいお題だと思って Vuex を使って習作してみたというお話でした。 このアプリで使用している netlify の知見も少しずつたまり始めたので、それはまたいずれ。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>実験室: jQuery.triggerとlocalStorageを使って自動保存するメモ帳を作る</title>
		<link>https://blog.mach3.jp/2010/07/01/auto-save-by-jquery-trigger.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Thu, 01 Jul 2010 21:36:00 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[localStorage]]></category>
		<guid isPermaLink="false">http://lab.mach3.jp/2010/07/01/%e5%ae%9f%e9%a8%93%e5%ae%a4-jquery-trigger%e3%81%a8localstorage%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e8%87%aa%e5%8b%95%e4%bf%9d%e5%ad%98%e3%81%99%e3%82%8b%e3%83%a1%e3%83%a2%e5%b8%b3%e3%82%92%e4%bd%9c.html</guid>

					<description><![CDATA[昨日書いた「jQuery.triggerを使ってEventDispatcher(AS3)のような事をしてみる」を応用して、 localStorageと連携して、一定時間で自動保存してくれる簡単なメモ帳を書いてみます。 D [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>昨日書いた「<a href="https://blog.mach3.jp/2010/07/jquerytriggereventdispatcheras3.html">jQuery.triggerを使ってEventDispatcher(AS3)のような事をしてみる</a>」を応用して、<br />
localStorageと連携して、一定時間で自動保存してくれる簡単なメモ帳を書いてみます。</p>



<span id="more-2248"></span>



<p><a href="http://jsbin.com/imafe3/2">DEMO on JS Bin</a></p>



<h3 class="wp-block-heading">HTML</h3>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">form</span> <span class="hljs-attr">action</span>=<span class="hljs-string">""</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">textarea</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"memopad"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"memopad"</span> <span class="hljs-attr">cols</span>=<span class="hljs-string">"30"</span> <span class="hljs-attr">rows</span>=<span class="hljs-string">"10"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">textarea</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">fieldset</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"button"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"SAVE"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"saveButton"</span> /&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"reset"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"CLEAR"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"clearButton"</span> /&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">fieldset</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">form</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">p</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"message"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
</code></span></pre>


<h3 class="wp-block-heading">JavaScript</h3>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">var</span> MemoPad = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{};
MemoPad.prototype = {

    <span class="hljs-attr">EVENT_SAVE</span> : <span class="hljs-string">"save"</span>,
    <span class="hljs-attr">jq</span> : $(<span class="hljs-keyword">this</span>),

    <span class="hljs-attr">textarea</span> : <span class="hljs-literal">null</span>,
    <span class="hljs-attr">storekey</span> : <span class="hljs-literal">null</span>,
    <span class="hljs-attr">time</span> : <span class="hljs-literal">null</span>,

    <span class="hljs-attr">create</span> : <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"> id, time </span>)</span>{
        <span class="hljs-keyword">this</span>.storekey = id;
        <span class="hljs-keyword">this</span>.time = time || <span class="hljs-number">15000</span>;
        <span class="hljs-keyword">this</span>.textarea = $( <span class="hljs-string">"#"</span> + id );
        <span class="hljs-keyword">this</span>.textarea.val( localStorage&#91;<span class="hljs-keyword">this</span>.storekey] || <span class="hljs-string">""</span> );
        setInterval( $.proxy(<span class="hljs-keyword">this</span>.save, <span class="hljs-keyword">this</span>), <span class="hljs-keyword">this</span>.time );
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>;
    },
    <span class="hljs-attr">save</span> : <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-keyword">if</span>( localStorage&#91;<span class="hljs-keyword">this</span>.storekey] !== <span class="hljs-keyword">this</span>.textarea.val() ){
            localStorage.setItem( <span class="hljs-keyword">this</span>.storekey, <span class="hljs-keyword">this</span>.textarea.val() );
            <span class="hljs-keyword">this</span>.jq.trigger( <span class="hljs-keyword">this</span>.EVENT_SAVE );
        }
    },
    <span class="hljs-attr">getValue</span> : <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-keyword">return</span> <span class="hljs-built_in">String</span>( localStorage&#91;<span class="hljs-keyword">this</span>.storekey] || <span class="hljs-string">""</span> );
    },
    <span class="hljs-attr">bind</span> : <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"> evt, func </span>)</span>{
        <span class="hljs-keyword">this</span>.jq.bind( evt, func );
    }
};
</code></span></pre>


<p>localStorageの使い方は以前記事で軽く触れた通り。<br />
<a href="https://blog.mach3.jp/2010/04/html5localstoragetodo.html">HTML5のLocalStorageでToDoリストを制作するチュートリアル</a></p>



<p>取得/保存は、<em>localStorage.getItem / localStorage.setItem</em><br />
またはプロパティアクセスで行ないます。</p>



<p>自動保存は、setIntervalでsaveメソッドを定期的に呼び出して実行。<br />
問題のtriggerは、saveメソッドが呼ばれてlocalStorageに値を保存した後に<br />
「save」イベントを送出しています。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">var</span> myMemoPad = <span class="hljs-keyword">new</span> MemoPad().create( <span class="hljs-string">"memopad"</span> );
myMemoPad.bind( myMemoPad.EVENT_SAVE, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">e</span>)</span>{
    $(<span class="hljs-string">"#message"</span>)
    .html( <span class="hljs-string">"保存されました - "</span> + <span class="hljs-built_in">String</span>( <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>() ) )
    .hide().fadeIn();<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">br</span> /&gt;</span></span>
});
$(<span class="hljs-string">"#saveButton"</span>).bind(<span class="hljs-string">"click"</span>, $.proxy( myMemoPad.save, myMemoPad ) );
</code></span></pre>


<p>createはコンストラクタ風のメソッドです。引数にはtextareaのidと、<br />
一応第二引数に自動保存の間隔（ミリ秒）を渡す事もできます。<br />
もっと大きな物を書く場合はオブジェクトで渡してあげたほうが良いですね。</p>



<p>上の例では、MemoPadの「save」イベントに、<br />
保存された時にメッセージとタイムスタンプを表示する関数をリスナとして設定しています。</p>



<p>たかだかこの程度のスクリプトだとこういう書き方は大袈裟な感じがしますが、<br />
もっと複雑怪奇な物を組んでいく時は、<br />
オブジェクト同士の連携がソース上で追いやすくなる気がします。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>実験室: その場しのぎのタスク管理Chrome拡張「イマヲイキル」</title>
		<link>https://blog.mach3.jp/2010/05/28/imawoikiru.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Fri, 28 May 2010 09:00:00 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[localStorage]]></category>
		<guid isPermaLink="false">http://lab.mach3.jp/2010/05/28/%e5%ae%9f%e9%a8%93%e5%ae%a4-%e3%81%9d%e3%81%ae%e5%a0%b4%e3%81%97%e3%81%ae%e3%81%8e%e3%81%ae%e3%82%bf%e3%82%b9%e3%82%af%e7%ae%a1%e7%90%86chrome%e6%8b%a1%e5%bc%b5%e3%80%8c%e3%82%a4%e3%83%9e%e3%83%b2.html</guid>

					<description><![CDATA[Chromeエクステンションを試験的に作ってみました。 局所的単機能タスクツール「イマヲイキル」です。 Download : ImawoIkiru-1.0.crx 簡単な使い方 ダウンロードしたファイルをChromeで開 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Chromeエクステンションを試験的に作ってみました。<br />
局所的単機能タスクツール「イマヲイキル」です。</p>



<figure class="wp-block-image"><img decoding="async" src="http://lh4.ggpht.com/_JJkNs5Ixl70/S_54EY5km0I/AAAAAAAAA60/1BV_KEiFyQw/s800/201005272242.png" alt="イマヲイキル"/></figure>



<p></p>



<span id="more-30"></span>



<p><a href="https://docs.google.com/uc?id=0B7k6jIWYcmkLMWIzMDEwOGQtYjU1ZS00YmUxLWFhNWQtM2QxZjJmZGIxNGU0&amp;export=download">Download : ImawoIkiru-1.0.crx</a></p>



<h2 class="wp-block-heading">簡単な使い方</h2>



<p>ダウンロードしたファイルをChromeで開いてください。<br />
※要件をバージョン5以上にしてあります</p>



<p>インストールするとアドレスバー横のツールバーに「イマ」アイコンが出てきます。<br />
それをクリックしてタスクを入力するだけのあまりにもシンプルな作りです。</p>



<figure class="wp-block-image"><img decoding="async" src="http://lh6.ggpht.com/_JJkNs5Ixl70/S_54Eti1HmI/AAAAAAAAA64/lt-Hbc7A36c/s800/201005272243.png" alt="イマヲイキルのイメージ"/></figure>



<p></p>



<p>タスクを右クリックすると削除出来ます。<br />
ゴミ箱なんてものは実装していないので<br />
削除したらもう二度と戻ってきてくれません。あばよ！</p>



<p>タスクの保存にはlocalStorageを使用していますので、<br />
Chrome再起動後も保持されます。<br />
Webサービスとの連携とか高級な事はしていません。<br />
その端末限りのデータとなります。</p>



<h2 class="wp-block-heading">免責</h2>



<p>このツールを如何に使っても構いませんが、<br />
いかなるアクシデントが発生したとしても責任を負いません。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>とりあえずChrome拡張を何かしら作ってみようと思って出来た副産物ですので、<br />
更新はあまり考えていませんが、<br />
バグや要望などございましたらTwitterの方に頂ければ！<br />
ギャラリーへの投稿は気が向いたらで…</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>HTML5のLocalStorageでToDoリストを制作するチュートリアル</title>
		<link>https://blog.mach3.jp/2010/04/11/html5-localstorage-tuts.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Sun, 11 Apr 2010 19:40:00 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[localStorage]]></category>
		<category><![CDATA[Video]]></category>
		<guid isPermaLink="false">http://lab.mach3.jp/2010/04/11/html5%e3%81%aelocalstorage%e3%81%a7todo%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e5%88%b6%e4%bd%9c%e3%81%99%e3%82%8b%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab.html</guid>

					<description><![CDATA[HTML5のlocalStorageを利用したToDoリストの作り方が Nettus+のビデオチュートリアルで公開されています。 今流行りのHTML5ですよ、奥さん。 Quick Tip: Learning About  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>HTML5のlocalStorageを利用したToDoリストの作り方が<br />
Nettus+のビデオチュートリアルで公開されています。<br />
今流行りのHTML5ですよ、奥さん。</p>



<span id="more-62"></span>



<p><a href="http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-learning-about-html5-local-storage/">Quick Tip: Learning About HTML5 Local Storage | Nettuts+</a></p>



<p><iframe width="500" height="375" src="//www.youtube.com/embed/h0uZIljjElo?rel=0" frameborder="0" allowfullscreen=""></iframe></p>



<p>ちなみに<a href="/2010/04/jsbin-com.html">先程の記事</a>の「<a href="http://jsbin.com/">JS Bin</a>」はこのビデオで知りました。<br />
英語ですが、ソースコードを見ているだけでよく分かります。<br />
localStrage、恐ろしく簡単に使えるのですね。<br />
夢が広がります。</p>



<p>格納/取得はsetItem/getItemで簡単に。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">localStorage.setItem(‘keyName’, ‘Value you want to store.’); <span class="hljs-comment">//格納</span>
<span class="hljs-keyword">var</span> hoge = localStorage.getItem(‘keyName’); <span class="hljs-comment">//取得</span>
</code></span></pre>


<p>プロパティアクセスでもOKです。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">localStorage.keyName = ‘Value you want to store.’; <span class="hljs-comment">//格納</span>
<span class="hljs-keyword">var</span> hoge = localStorage.keyName; <span class="hljs-comment">//取得</span>
<span class="hljs-comment">/* または… */</span>
localStorage&#91;<span class="hljs-string">'keyname'</span>] = ‘Value you want to store.’;
<span class="hljs-keyword">var</span> hoge = localStorage&#91;<span class="hljs-string">'keyName'</span>];
</code></span></pre>


<p>ウィンドウを閉じてもデータは保持される様で、<br />
つまりはASのSharedObjectみたいな使い方が出来る…のかな？<br />
値はStringじゃないといけないみたいですが。</p>



<p>当セッションだけデータを保持されるsessionStorageなるものもあるそうな。<br />
より詳しくはこちらへ。<br />
<a href="http://journal.mycom.co.jp/special/2009/html5-2/006.html">【特集】詳解! HTML 5と関連APIの最新動向 &#8211; Webアプリ開発編 (7) Web Workers | エンタープライズ | マイコミジャーナル</a></p>



<p>大変便利なlocalStorageですが、<br />
ローカルのデータを弄るわけで、妙な穴にならなければよいですね。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<dl>
<dt>2010/08/25 :</dt>
<dd>サンプルコードに加筆修正。</dd>
</dl>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
