0

すべてのブラウザですべてのページが正常に動作する Web サイトを作成しましたが、IE の 1 つのページ (フォーム ページ) だけが読み込みに時間がかかりすぎて、IE が長いスクリプトを実行していて応答していないというエラーが表示されます。

IE のツール セクションでスクリプト オプションを無効にする必要があるという解決策を見つけましたが、それも機能しますが、すべてのユーザーにこの解決策に従うように指示することはできないため、スクリプトを無効にできるのは、IEのこのフォームページに対してのみ、すべてのユーザーに対して動的にのみです(このフォーム用に別のテンプレートを作成しました)

前もって感謝します.......

4

3 に答える 3

0

フォローしてみてはどうでしょう..

<script>
    if( /* Browser checks */ )
        document.write( '<script src="scripts.js"></script>' );
</script>

すべてのスクリプトが 1 か所にある場合、または少なくともページ全体に埋め込まれていない場合は、ブラウザを確認した後、JavaScript にスクリプトを含める必要があります。

これは、コードhttp://en.wikipedia.org/wiki/Don%27t_repeat_yourselfとすべてを 1 か所にまとめておくことが重要である理由を示すシナリオの 1 つです。

ブラウザーの検出については、http://www.quirksmode.org/js/detect.htmlを確認してください。ただし、ユース ケースにより役立つ場合は、代わりにオブジェクト検出ページへのリンクに注意してください。http://yepnopejs.com/は、Modernizr の一部である後者に役立ちます。

クレジット:特定のブラウザーの Web サイト内から JS を無効にする

それが役に立てば幸い。

于 2013-04-04T04:52:58.957 に答える
0

IE 条件付きコメントを使用します。

<![if !IE]>
<script>
    // your non IE script here.
</script>
<![endif]>

詳細については、http: //msdn.microsoft.com/en-us/library/ms537512 (v=vs.85).aspx を参照してください。


追加説明:

条件付きコメントがどのように機能するかについてのメモ。

条件付きコメントは、IE のバージョンに応じて、またはブラウザーが IE 以外の場合に、コンテンツ (必ずしもスクリプトではない) の一部を公開または非表示にする IE 固有の機能です。例えば:

<![if !IE]>
    Hello non IE
<![endif]>

IE 以外のブラウザーでは印刷Hello non IEされ、IE では何も印刷されません。IF文のみです。コンテンツを消去する魔法の方法ではありません。例えば:

Hello non IE
<![if !IE]>
    Hello non IE
<![endif]>

印刷されます:

Hello non IE

IE および:

Hello non IE
Hello non IE

非 IE ブラウザーで。前のテキストは削除されません。内部のテキストを IE から隠すだけです。

そのため、IE からスクリプトを除外するには、次のようにする必要があります。

<![if !IE]>
<script src="non_ie_compatible_script.js">
<![endif]>

これではありません

<script src="non_ie_compatible_script.js">

<![if !IE]>
<script src="non_ie_compatible_script.js">
<![endif]>

スクリプトを含む元の行にアクセスできない場合は、何もできません。

スクリプトにアクセスできる場合は、このページに掲載されている他のソリューションを使用できます。ただし、OPで述べたように、スクリプトにもアクセスできないため、ここでのソリューションはどれも機能しません。実際、サーバー自体またはサーバーの前にあるプロキシにアクセスできない限り (この場合、ページ全体を傍受し、ブラウザーに配信される前にスクリプト インクルージョン タグを削除できます)、解決策はありません。問題。

あなたの最善の策は、実際にはコーディングの解決策ではなく、人間による解決策かもしれません: スクリプトの所有者/管理者またはウェブサイトの所有者/管理者に相談して、特定のページでスクリプトをオフにする方法を提供するよう依頼してください。 .

または、サードパーティのスクリプトを無効にする代わりに、@karthick が提案することを実行してコードをデバッグします。

于 2013-04-04T04:53:22.813 に答える