2011-08-01 4 views
7

私はこのhtml snippet &に私の驚きのjQueryオブジェクトが作成されました!htmlドキュメントの外にスクリプトをロードしています

<!doctype html> 
<body> 
<h1>Hello World</h1> 
</body> 
</html> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script> 

あなたが<script>タグに気づくこととしては、</html>タグを閉じる AFTER が来ます。 &なぜこれが機能するのでしょうか?

+2

ブラウザは非常にエラーに強いです。彼らはインターネット上で厳密に標準に準拠した単一のページを見つけることは幸運でしょう。 – JJJ

+0

ie6または7のコードを試して、結果を確認してください:p – Awea

答えて

4

これはブラウザが非常に寛容であるために機能します。このようにすると利点はありません。誰かが「できるだけページの下までスクリプトを置く」によって意味されたものを誤解しているため

それがある理由は、おそらくです...

+1

JSがHTMLの外に置かれた場合、DomContentLoadedイベントにどのような影響がありますか。このjavascriptが実行される前にDomContentLoadedイベントが発生するかどうか – LionHeart

+0

ジョークのためにupvoted、ベストアンサーive読んでください – iWillGetBetter

3

ファイルを検証すると、無効であると表示されます。しかし、ブラウザは通常、あなたがおそらくそれらを意味する方法で試してやります。

ブラウザは厳密ではありません。あなたは間違ったことをたくさんすることができ、彼らはまだ動作します。

1

私はFirefoxのためにこのコードをチェックし、スクリプトがためにbodyタグの内側として扱われますこの特定の場合。

ブラウザは本当にエラー耐性があります。

関連する問題