以下のようなJavaScriptを書きました(テキストにあったサンプルコードです)。
拡張子を.js
にするとそのままでは実行できないので、「MyStrage.html」として実行しようとしました。
<script> var MyStorage = function (app) { this.app = app; this.storage = localStorage; this.data = JSON.parse(this.storage[this.app] || '{}'); } MyStorage.prototype = { getItem: function (key) { return this.data[key]; }, setItem: function (key, value) { this.data[key] = value; }, save: function () { this.storage[this.app] = JSON.stringify(this.data); } } </script>
しかし、ローカルから直接実行するfile:///・・
の書き方だとうまくいかないようです。
具体的にはローカルのディレクトリにある「MyStrage.html」をダブルクリックして実行しました。
しかしブラウザの開発ツールのApplicationを確認しても、localstrageにデータは特に追加されていないので失敗しているようでした。
そこでテキストを確認したところ、http://localhost/・・
のようにアクセスしていました。
そこで私もこのやり方で実行したいのですが、どのように書けばいいのでしょうか。
localhostが自分のパソコンのどこのディレクトリを指しているのかわかりません。
「http://localhost/」でアクセスすると「it works!」と表示されます(Macです)。
(追記)
以下の記載により、正常にデータがlocalstrageに保存できました。
var storage = new MyStorage('bbb'); storage.setItem('hoge', 'ほげ'); console.log(storage.getItem('hoge')); storage.save();
回答3件
あなたの回答
tips
プレビュー