1. ホーム
  2. javascript

[解決済み] IEでデベロッパーツールを一度開いただけで、JavaScriptが動作するのはなぜですか?

2022-03-15 05:13:57

質問

IE9のバグ - JavaScriptは、開発者ツールを一度開いた後でないと動作しない。

私たちのサイトでは、ユーザーに無料でPDFをダウンロードできるようにしており、簡単な "パスワードを入力してダウンロード" 機能を備えています。しかし、Internet Explorerでは全く動作しません。

これを見れば、自分の目で確認することができます。 .

ダウンロードパスは "makeuseof"です。他のブラウザでは、問題なく動作します。IEでは、両方のボタンが何もしません。

一番不思議なのは、F12で開発者ツールバーを開いたり閉じたりすると、突然すべてが機能し始めることです。

互換モードなども試しましたが、何も変わりません。

Internet Explorerで動作させるにはどうしたらいいですか?

解決方法は?

javascriptにデバッグ用のコードが含まれている可能性があるようです。

このような現象は、「Security」(セキュリティ)という用語が含まれるコードによく見られます。 console.log() または他の console 関数を使用します。

は、その console オブジェクトは、Dev ツールバーが開かれたときのみ有効です。それ以前は、コンソール・オブジェクトを呼び出すと、そのオブジェクトは、以下のように報告されます。 undefined . ツールバーが開かれた後、コンソールは(その後ツールバーが閉じられても)存在するので、コンソールの呼び出しは機能します。

これには、いくつかの解決策があります。

最も明白な方法は、あなたのコードから console . いずれにせよ、プロダクション・コードにそのようなものを残すべきではないでしょう。

コンソールの参照を維持したい場合は、コンソールの参照を if() ステートメントや、コンソールオブジェクトを呼び出す前にそのオブジェクトが存在するかどうかをチェックするような他の条件もあります。