質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

7206閲覧

the operation is insecure.

salah0615

総合スコア49

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/03/26 11:43

javascript

1let storage = localStorage;

とした場合や、

JavaScript

1let worker = new Worker(scripts/ワーカー);

とした場合に、securityErrorとしてthe operation is insecureが出てしまう原因がよくわかりません。
原因を初心者の自分にもよくわかるように説明していただけたらと思います。
また、自分はmacを使っているのですが、このエラーをなくす方法があれば教えていただけたら嬉しいです。

ちなみに localStorageではなくsessionStorageにするとエラーがなくなります。
ここについても説明が欲しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/03/26 11:47

現象確認されたブラウザの種類とバージョンを教えてください。 また、下記のようにするとコンソールには何が出力されますか? if(('localStorage' in window) && (window.localStorage !== null)) { console.log('OK'); } else { console.log('NG'); }
salah0615

2019/03/26 12:02

safariの12.0.3です。 上記のコードをコピーしてコンソールしたところ、質問と同じエラーが出てしまいました。
m.ts10806

2019/03/26 12:04

このコードだけ、でもですか?
salah0615

2019/03/26 12:07

はい。このコードだけしか記入してないですが、securityErrorと出てしまいます。。
m.ts10806

2019/03/26 12:11

私の提示したコードは「localStorageが利用できればOK、できなければNG」とコンソールに出力するものです。それで同じエラーがでるというのは・・・・ Mac利用者じゃないので確認できないですが、下記のような場所にLocalStorage保存しているファイルやディレクトリはありますか? http://www.xenos.jp/~zen/blog/index.php?itemid=2188 もしかしたらそのディレクトリの権限とか関係あるのかなと思ったりはしていますが・・
maisumakun

2019/03/26 12:19

もしかしてですが、プライベートブラウザ上から実行していませんか?(SafariのプライベートモードはStorage周りで特異な動作をする、と聞いたことがあります)
salah0615

2019/03/26 12:26

mts10806さん。 if(('localStorage' in window) && (window.localStorage !== null)) { console.log('OK'); } else { console.log('NG'); } をそのままjsファイルに書き込んで実行してみたのですが違いましたかね。
m.ts10806

2019/03/26 12:30

>そのままjsファイルに書き込んで実行してみたのですが いえ、違いません。合ってます。
m.ts10806

2019/03/26 12:39

コメントの後半に書いたリンクも念のためご確認ください。
salah0615

2019/03/26 13:03

mts10806さん。 参考サイトありがとうございます。 library > safari > localStorage配下にたくさんファイルがありました(http_html5.imedia-web.net_0.localstorageなど)。
m.ts10806

2019/03/26 13:05

了解です。では使えないわけではなさそうですね。 すでに回答もついてコメントもされているようですが、その回答の通りだと思います。 結局のところWebサーバーで動作させるので、そのあたり(ローカルファイルでの扱い)が厳しくなったのだと思います。
salah0615

2019/03/26 13:48

よかったです! 大変助かりました! 毎度ありがとうございます。
guest

回答2

0

ベストアンサー

ローカルでhtmlファイルを直接表示してるから。
最近のJSの機能はそれでは制限されてることが多い。
開発時にもローカルサーバーでの実行が必要。

https://qiita.com/massie_g/items/2913066e596dae197539

ブラウザで解除する方法もあるけど開発時だけとはいえ使いたくない。
https://mutter.monotalk.xyz/posts/edb02814d6df87187b5bb9aa62c51243/

投稿2019/03/26 12:27

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

salah0615

2019/03/26 12:53

mampをインストールしてあったので、apacheを使って http://localhost/[htmlファイル名] というURLで開いたらエラーがなく正常にできたのですが、これで良いのでしょうか。
guest

0

Firefoxでの事例が挙がっていますが、クッキーなどキャッシュ消去で消えませんか?

【MozillaZine.jp フォーラム • トピック - 【事例報告】 localStorageを利用している Webページが表示されなかった】
https://forums.mozillazine.jp/viewtopic.php?t=13437

【「SecurityError:The operation is insecure」の対処法 | ハルパス】
https://blog.halpas.com/archives/9990

投稿2019/03/26 11:47

kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

salah0615

2019/03/26 13:04

回答ありがとうございます。 参考にしてみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問