JavaScriptがMicrosoft Edgeで動かない時の対処方法を現役エンジニアが解説【初心者向け】
初心者向けにJavaScriptがMicrosoft Edgeで動かない時の対処方法について現役エンジニアが解説しています。セキュリティ上の問題からブラウザがJavaScriptを無効にしていることがあります。多くはブラウザの設定画面から有効にすることで動作するようになります。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
監修してくれたメンター
nakamoto
JavaScriptがMicrosoft Edgeで動かない時の対処方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
JavaScriptがMicrosoft Edgeで動かないと、表示したいページがうまく表示できません。
実務で、お客様からJavaScriptがMicrosoft Edgeで動かない相談を受けた時に答えられるよう、ぜひ学習してみてください。
目次
そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。
今回は、JavaScriptに関する内容だね!
どういう内容でしょうか?
JavaScriptがMicrosoft Edgeで動かない時の対処方法について詳しく説明していくね!
お願いします!
JavaScriptが特定のブラウザで動かない時に考えられる原因
特定のWebページに動きやエフェクトをつける時にJavaScriptが使われます。
ただ、使用環境やブラウザによっては、JavaScriptの機能を無効にしていることがあります。
JavaScriptの機能を無効にしている場合は、JavaScriptのセキュリティホールを懸念している場合です。
セキュリティホールというのは、プログラムの設計ミスなどに乗じて、攻撃されることを意味します。
JavaScriptの機能を無効にすることで、ユーザーの安全を確保することがあるということです。
もし、セキュリティホールなどがない場合や、セキュリティ対策をしっかり行っている場合は、ブラウザの設定でJavaScriptを有効にしてJavaScriptを機能させることができます。
JavaScriptがMicrosoft Edgeで動かない時の原因、解決方法
JavaScriptを有効にしても、Microsoft Edgeだけは一部の機能が動作しないことがあります。
その原因の多くは、使用しているAPIが非対応であることです。
最近ではJavaScriptで動作するWeb APIが豊富に登場し、サーバサイドを使わずにWebページだけで様々な機能を実装できるようになりました。
しかし、Chrome、Firefoxでは動作しても、Edgeでは動作しないことがあります。
この原因は、使用しているWeb APIがEdgeでの動作保証をしていないことです。
解決策としては、Edgeのバージョンを最新版にアップデートすれば対応することもあります。
JavaScriptのWeb APIの対応については、mozillaのサイトでAPIの対応を確認できます。
https://developer.mozilla.org/ja/docs/Web/API
事前の対策方法
APIの仕様上の問題で、JavaScriptがEdgeで正常に動作しないことがあります。
最新バージョンにすることで解決できますが、そもそもEdgeで非対応のAPIも存在します。
ユーザーが利用しているブラウザがEdgeであるかどうかを判別させる必要があります。
利用しているブラウザを判定する方法の1つに、userAgentを使う方法があります。
JavaScriptサンプルコード
var agent = window.navigator.userAgent.toLowerCase();
var edg = agent.indexOf('edg') > -1;
console.log(edg);
表示結果
解説
var agent = window.navigator.userAgent.toLowerCase();を実行すると、ブラウザの詳細データをagentに格納します。
agentの中身の例としては、次のようなデータです。
mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/95.0.4638.54 safari/537.36 edg/95.0.1020.40
var edg = agent.indexOf(‘edg’) > -1;では、agentの中にEdgeに関する情報が入っているかを確認して、変数edgに代入しています。
console.log(edg);では、変数edgを表示しています。
実行すると、Edgeである場合は、true、それ以外はfalseと出力されます。
今回はEdgeなので、trueが表示されます。
サンプルコードを応用させて、Edge非対応のサイトである旨のアラートを出したり、そもそも他のブラウザを使ってもらうように表示を切り替えるということもできます。
まとめ
JavaScriptが特定のブラウザで動作しないときは、セキュリティホール対策の一環ということもありました。
JavaScriptがMicrosoft Edgeで動作しないときは、JavaScriptを有効にするという設定をすると動作することもあります。
システム開発を行う側の場合、あらかじめMicrosoft Edgeでは動作しないAPIを調べることも重要でした。
ChromeでJavaScriptを無効/停止する方法も参考にしてみてください。
内容が分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
JavaScriptを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのフロントエンドコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、JavaScript・jQueryを使ったWebサービス開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!