2011-01-04 6 views
26

サイトのすべてのページにjavascriptファイルを含めたいと思います。これは正常に動作しますJavaScriptファイルをHTMLに含めると<script .... />として機能しません

<script type="text/javascript" src="myFile.js" ></script> 

- 二つのタグの間に何もないようしかし、私はそれを変更したい:私はこれを行うことができます私はこれを行う場合、それは動作しません

<script type="text/javascript" src="myFile.js" /> 

- その行がページにロードされた後は何もありません。

なぜでしょうか?ありがとう

+0

これは

タグ内にありますか? –

+0

参照:http://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work –

+0

関連する質問http://stackoverflow.com/questions/69913/why-dont-self-closing -script-tags-work –

答えて

32

残念ながら、ためのHTMLの仕様は、終了タグを必要としない

<div style="background:red"></div>ディスプレイ、...

HTML標準、section 18.2.1

18.2.1 SCRIPT要素

開始タグ:必要、終了タグ:必要

3

これはバグではなく、標準的な動作です。

また、空のHTML要素は、多くの場合、レンダリングされません:<div style="background:red" />

+1

この要素はレンダリングされますが、表示されません。サイズはピクセルの高さと幅がゼロです – Profet

2

HTMLは、自己終了タグをサポートしていません。それらを使用するには、xmlベースのdoctypeを使用し、xmlとしてファイルを提供する必要があります。

XHTMLまたはhtml5のxmlシリアル化はどちらも機能します。ここで

は一例です:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title>XHTML5 Template</title> 
    <meta charset="utf-8" /> 
    <script type="text/javascript" src="http://documentcloud.github.com/underscore/underscore-min.js" /> 
    </head> 
    <body> 
    </body> 
</html> 

.xhtml拡張子を持つファイルでこれを保存し、近代的なブラウザと自己終了タグで開きが動作します。

関連する問題