1

script-type の先頭に「text/」が追加されるのはなぜですか?

例えば:

<script type="text/javascript" />
<link type="text/css"/>
<script id="entry-template" type="text/x-handlebars-template">

おそらく、標準の javascript/vbscript/css は次のように定義されています。

<MIME-media-type>/<MIME-sub-type>

ハンドルバーについてはどうですか?なぜ同じフォーマットに従うのですか? (そして他のいくつかのライブラリと同じ)

また、open-source-lib (例: nirman) にカスタム タイプを追加したい場合は、次のように記述する必要があります。

<script type="nirman" /> 
/// OR
<script type="text/nirman" />

?

ありがとう

4

2 に答える 2

2

メディア タイプ (MIME タイプ) の名前は、通常、スラッシュ「/」で区切られた主要なメディア タイプとサブタイプで構成されます。これはRFC 2406で指定されています。

textJavaScript コードテキストであるため、JavaScript に選択される主なタイプは です。もちろん、JavaScript を理解する必要がある人間が直接読むことができます。そのため、プレーンテキストではありません ( text/plain)。その後、理論的な理由から、JavaScript 用に他のさまざまなメディア タイプが提案されましたtext/javascriptが、すべてのブラウザが認識しています。

ハンドルバーは使用しているようtext/x-handlebars-templateです。

script要素内で、JavaScript コードではないコードを使用したい場合、 JavaScript コードによって処理され、それを何らかのデータ (おそらく何らかの言語のプログラム コード) として解釈する場合、最も安全な方法は を使用することtext/plainです。ロジックのためではなく、スクリプト言語に関する HTML5 CR のステートメントのためです。「スクリプト言語として解釈してはならない」いくつかのメディア タイプ名がリストされており、代替案の中text/plainでおそらく最も非論理的です。

ここでのポイントは、ブラウザーがスクリプト要素のコンテンツを JavaScript (または VBScript) として実行できないようにすることです。そのため、属性を指定する必要typeがあります。値を指定すると、ブラウザーはscript要素に対して通常行うことを実行しなくなります。ブラウザは、JavaScript コードが処理できるように、コンテンツを DOM に格納するだけです。

はい、コードが何らかの意味でプログラム コードであり、ブラウザにそうではないことを伝えるために最善を尽くしている場合、これは非論理的です。しかし、それはブラウザによってネイティブに解釈されるプログラム コードではありません。

text/x-nirmanorを使用するapplication/x-nirmanと、おそらくうまくいくでしょう。または、JavaScript や VBScript を参照しているように疑わしく見えないもの。

于 2013-09-18T09:02:40.727 に答える