11

私は単に好奇心からこれを設定することを検討していましたが、これが機能するように彼らが言ったとき、私は少し戸惑いました:

AnalyticsCookieを設定するJavascript要素を見つけます。例としては、GoogleAnalyticsやStatCounterなどがあります。 type属性が「text/javascript」ではなく「text/plain」になるようにスクリプトタグを変更します

これにより、特定のWebブラウザで問題が発生しますか?HTMLが検証されなくなるのでしょうか?

また、「type」属性は本当にもう目的を果たしますか?「テキスト/JavaScript」が割り当てられているのを見たことがありますか?

4

3 に答える 3

14

ブラウザーが要素のコンテンツをスクリプト コードとして解釈せず、レンダリングされないテキスト データとして解釈することが意図されている場合、問題は発生しません。スクリプトで使用するためにありますが、それ以外の場合は無視されます。一部のブラウザーでは、CSS を使用してコンテンツを表示できるようになっている場合がありますが、既定では表示されません。

使用<script type="text/plain">は HTML 仕様で有効です。Even<script type="Hello world ☺&quot;>は有効ですが、属性値が MIME タイプであるという散文の要件に違反しています。仕様はその意味を指定していませんが、唯一の実行可能な解釈、およびブラウザが実際に行うことは、スクリプト言語ではなく、スクリプトが試行されても実行されないということです。

そのtype="text/plain"ため、スクリプトをソースに保持したまま、意図的にスクリプトの実行を防止するために使用される場合があります。また、何らかの処理に使用される大量の文字データを運ぶために使用することもできます。

このtype属性は、このような目的に役立つ可能性があり、JavaScript 以外のスクリプト言語を指定するためにも使用できます (ほとんど使用されませんが、一部の環境では可能です)。JavaScript を指定するためだけに属性を使用するtypeことは不要であり、お勧めできません: エラーが発生する可能性があります: たとえばtype="text/javascirpt"、タイプを間違えると、コンテンツは不明な言語であると見なされ、無視されます。

于 2012-08-23T12:10:36.593 に答える
1

これにより、特定の Web ブラウザーで問題が発生しますか?

いいえ

HTML が検証されなくなりますか?

いいえ

また、「type」属性は本当に目的を果たせますか?

ブラウザーはこれを使用して、コードを実行するインタープリターを決定します (または、外部srcで編集されたコードをダウンロードする必要があるかどうか)。

に設定するとtext/plain、ブラウザーがインタープリターを持たないタイプに設定されます (プログラミング言語ではないため)。これがポイントです。

于 2012-08-23T12:06:00.123 に答える
-1

"application/javascript"最新の w3 仕様によると、そうあるべきです。しかし予想通り、古いバージョンの IE のほとんどはこれをサポートしていません。"text/javascript"そのため、どこでも安全に使用できます。

于 2012-08-23T11:53:23.570 に答える