5

私はサイトを構築してきました。ある段階で、IEディスプレイが少し壊れていて、Chromeはbodyタグ(空)しかレンダリングしておらず、FFはすべて良さそうだったのに気づきました。

キーボードを部屋の周りに投げて、頭をマウスにぶつけた後、私は問題を発見しました。インラインスクリプトブロックで閉じられていないHTMLコメントを残しました(方法や理由を聞かないでください。電光石火のスピードカットアンドペーストエラーだったに違いありません)。

<script type="text/javascript">
        <!--
        ...
    </script>

スクリプトが外部にある場合、問題は発生しないか、はるかに目立つ方法で現れると推測しています(テストされていません)。とにかく、私は考え始めました、あなたがインラインスクリプトを書く本当に正当な理由がある時はありますか?

4

9 に答える 9

9

いいえ。控えめなJavascriptを記述します。

于 2009-06-30T15:02:21.083 に答える
4

Javascriptをできるだけ早く実行したい場合は、インラインJavascriptを含めるのが理にかなっています。これは、他のHTTPリクエストが必ず完了する前に実行されるためです。

また、場合によっては、サードパーティプロバイダーのJavascriptを組み込んでいて、実際には選択肢がありません。特定の広告システムとGoogleAnalyticsが思い浮かびます。

于 2009-06-30T15:02:47.807 に答える
2

スクリプトを動的に生成する必要がある場合(たとえば、PHPまたはASP.NET MVCページによって)、スクリプトをインラインにする理由の1つです:-)

于 2009-06-30T15:03:07.507 に答える
2

どのくらいのJSを書く予定かによります。多くのサポートルーチン(多くの検証チェック、テキスト処理、アニメーション、エフェクト)を作成している場合は、コードを別のファイルに含めるのが理にかなっています。これにより、コードの再利用が可能になり、HTMLページから多くのジャンクが削除されます。

一方、10行のコードや、1つの関数(リフレッシュJSが頭に浮かぶ)を別のファイルに入れる必要はありません。また、ブラウザが個別のJSファイルをダウンロードするために追加のHTTPリクエストを行う必要がないため、読み込みが少し速くなります。

于 2009-06-30T15:06:15.943 に答える
0

ほとんどのXSSの脆弱性は、インラインJavaScriptを使用してのみ悪用できます。

于 2009-06-30T15:04:04.293 に答える
0

必ずしも十分な理由ではありませんが、ページの読み込みが速くなります。このため、スクリプトを別のファイルに書き込んだ場合でも、クライアント側でインラインとして表示したい場合があります。

于 2009-06-30T15:05:01.560 に答える
0

部分的にリロードされるページ(たとえば、いくつかのイベントを新しく追加されたフォームフィールドにバインドするため)や、他のページでは使用しない一意のjavascriptを使用するページにJavaScriptをインラインで配置することがあります。

于 2009-06-30T15:08:55.797 に答える
0

ブラウザが各ファイルを個別に呼び出す必要があるため、外部スクリプトが多数あると、最終的にページの速度が低下する可能性があります。JavaScriptを1つのファイルまたはページ自体に結合すると、この問題を軽減できる場合があります。

一方、ブラウザは、最初に呼び出されたときにスクリプトファイルをキャッシュする可能性があると思います。そのため、サイト全体に同じコードが多数ある場合は、外部が最適です。

于 2009-06-30T15:21:08.643 に答える
0

私は、XMLとActionScriptを組み合わせて最終的なバイトコードを作成するFlexと呼ばれるものでかなりの仕事をしています。2つを可能な限り分離することが常にベストプラクティスです。そうすれば、ビュー(私の場合はHTMLまたはMXML)をコントローラー(スクリプト)から非常に明確かつ簡単に分離できます。

また、1行のコードで5つのファイルを調べる必要がないことも意味します。つまり、すべてのコードが1か所にあります。

于 2009-06-30T15:24:51.880 に答える