javascript
1let storage = localStorage;
とした場合や、
JavaScript
1let worker = new Worker(scripts/ワーカー);
とした場合に、securityErrorとしてthe operation is insecureが出てしまう原因がよくわかりません。
原因を初心者の自分にもよくわかるように説明していただけたらと思います。
また、自分はmacを使っているのですが、このエラーをなくす方法があれば教えていただけたら嬉しいです。
ちなみに localStorageではなくsessionStorageにするとエラーがなくなります。
ここについても説明が欲しいです。
現象確認されたブラウザの種類とバージョンを教えてください。
また、下記のようにするとコンソールには何が出力されますか?
if(('localStorage' in window) && (window.localStorage !== null)) {
console.log('OK');
} else {
console.log('NG');
}
safariの12.0.3です。
上記のコードをコピーしてコンソールしたところ、質問と同じエラーが出てしまいました。
このコードだけ、でもですか?
はい。このコードだけしか記入してないですが、securityErrorと出てしまいます。。
私の提示したコードは「localStorageが利用できればOK、できなければNG」とコンソールに出力するものです。それで同じエラーがでるというのは・・・・
Mac利用者じゃないので確認できないですが、下記のような場所にLocalStorage保存しているファイルやディレクトリはありますか?
http://www.xenos.jp/~zen/blog/index.php?itemid=2188
もしかしたらそのディレクトリの権限とか関係あるのかなと思ったりはしていますが・・
もしかしてですが、プライベートブラウザ上から実行していませんか?(SafariのプライベートモードはStorage周りで特異な動作をする、と聞いたことがあります)
mts10806さん。
if(('localStorage' in window) && (window.localStorage !== null)) {
console.log('OK');
} else {
console.log('NG');
}
をそのままjsファイルに書き込んで実行してみたのですが違いましたかね。
>そのままjsファイルに書き込んで実行してみたのですが
いえ、違いません。合ってます。
コメントの後半に書いたリンクも念のためご確認ください。
mts10806さん。
参考サイトありがとうございます。
library > safari > localStorage配下にたくさんファイルがありました(http_html5.imedia-web.net_0.localstorageなど)。
了解です。では使えないわけではなさそうですね。
すでに回答もついてコメントもされているようですが、その回答の通りだと思います。
結局のところWebサーバーで動作させるので、そのあたり(ローカルファイルでの扱い)が厳しくなったのだと思います。
よかったです!
大変助かりました!
毎度ありがとうございます。
回答2件
あなたの回答
tips
プレビュー