[1] HTML の script
要素は、動的なスクリプトや、
スクリプトが使うデータを文書に埋め込むものです。
[131] script
要素は、動的なスクリプトや、データブロックを文書に含めるために使うことができます。
>>130
[14] script
要素は、
フロー内容、語句内容、スクリプト支援要素のいずれかが求められる場面で使うことができます
>>130。つまり HTML文書のほとんどあらゆる場所で使うことができます。
script
要素の内容属性<script type>
依存の制約もあります (そちらの項を参照)。[554] script
要素の意味に依存して、
使える属性は次の通り変化します。
type
src
charset
async
nomodule
defer
crossorigin
nonce
integrity
[249] async
属性や src
属性については属性が追加された時の処理が規定されています。
[500] 属性の有無と構文解析器によって作成されたか DOM メソッドで作成されたかにより、スクリプトの実行のタイミングは次のように変化します。
<script>
<script src>
<script src defer>
<script src async>
<script type=module>
<script type=module async>
<script type=module src>
<script type=module src async>
s = document.createElement ('script')
s = document.createElement ('script'); s.async = false; s.src = ...
s = document.createElement ('script'); s.type = 'module'
s = document.createElement ('script'); s.type = 'module'; s.async = false; s.src = ...
[194] script
要素の種別が古典スクリプトやモジュールスクリプトの場合は、
src
属性を使って外部スクリプト資源を指定することもできますし、
内容として直接埋め込むこともできます >>130。
<script src>
も参照。[137] script
要素の種別がデータブロックの時は、
内容として直接埋め込まなければなりません >>130。
[193] script
要素の内容が古典スクリプトやモジュールスクリプトを表しているときは、
それぞれ JavaScript の Script
や Module
の制約に従わなければなりません >>130。
[192] かつては次のような若干曖昧な規定でした。
[150] HTML Standard は共通の制約以外には script
要素の内容について制約を課しておらず、
type
(と language
) によって決定される言語の仕様による制限に適合しなければならないとしています。
[151] ただし実際にはそのような制約を明示している仕様はありません。
[152] HTML Standard によれば、 script
要素で src
属性がない場合、 script
要素の内容は
... 使うことになっています。ここから推測すると、
script
要素の内容がその XML
言語の要素やテキスト... という風に解釈するのが妥当でしょう。
[157] ただし HTML 構文では script
要素の構文解析直後の状態は常にテキスト節点を高々1つだけ含んだ状態になります。要素を子供にするためには
XML 構文を使うかスクリプトで挿入するしかありません。そのため、データブロックとして XML
ベースのデータが script
要素の内容に埋め込まれることがありますが、
XML のソースをテキスト節点として含んだ状態になってしまいます。
[139] script
要素の種別がデータブロックの時は、
type
属性で指定された書式の要件に従わなければなりません >>130。
[581] しかし現実にはそのような書式を明確に規定している MIME型は、それほど多くありません。 既存の MIME型のほとんどは、 MIME や HTTP での利用を想定してバイト列の書式は定めているかもしれませんが、 文字列の書式を定めていることは稀です。 JavaScriptフレームワークの類の処理対象データを埋め込むために使う場合の専用の MIME型については、その書式が定義されているくらいです。
[142] src
属性が指定されている場合、 script
要素の内容は外部のスクリプトについてのドキュメントとみなされます。
スクリプトとして実行はされません。この場合には、 (スクリプト言語に関わらず)
次のものだけを使わなければならないという制約が課されます (空でも構いません) >>130。
[140] script
要素の textContent
は次の要件を満たさなければなりません
>>130。
[141] HTML構文解析器は script
要素内において <!--
と -->
の対応関係や <script>
と </script>
の対応関係を考慮して複雑な解釈を行います。それに反して HTML として直列化できない値や混乱を招くものを禁止するために
>>140 のような規定があります。
[18] script
要素に対応していない古い WWW ブラウザは、
script
要素内の文字データも構わず解釈してしまいます。
そこで、 script
要素の内容としてスクリプトを記述するときには、
HTML の注釈宣言のように最初に <!--
を、
最後に -->
をつけることが慣習となっています。
HTML 4 によれば、これは HTML の機能ではなく、スクリプト機関の機能とされています。
この機能に対応している言語には JavaScript, VBScript, Tcl
があるようです。 HTML 4 18.3.2 より正確には、この3つの言語は
script
要素の内容の一番最初の非空白文字列が
<!--
であるとき、これを無視するらしいです。
最後の -->
は、3つの言語のいずれも、それだけで書くことはできず、
それぞれの言語の注釈の内容として (JavaScript の場合は // -->
のようにして) 書くことが必要らしいです。
らしい
というのは、正確にこれを規定した仕様がないからです。
HTML 4 はスクリプト機関
によるものだと言っていますから、
スクリプト言語の言語仕様かなにかに規定があってもよさそうなものですが、
そのようなものは見たことがありません。また、 HTML
に直接埋め込まれていない ECMAScript のスクリプトのソース・コードに
<!--
という文字列があってもよいという話も聞きません。
(style
要素も同じような事情ですが、こちらは
CSS2 で言語仕様の一部としてきちんと定義されています。)
[42] 少なくても JavaScript では、 最初の <!-- が含まれる行の行末までを無視するのが Web ブラウザの普通の実装のようです。
[27] このような注釈宣言 (のようなもの) の中では、 (SGML
的には CDATA
なので注釈宣言ではないとはいえ、
古い UA の立場からしても SGML 的に正当であるために) COM
(--
) を含めるべきではないと考える人もいます。
[19] なお、 XHTML 1 の script
要素は、 CDATA
ではありませんので、注釈宣言 (のようなもの) を書くと、
本当に XML の注釈宣言と解釈されてしまいます。当然、
スクリプトとして解釈・実行されることはありません。
[40] script
要素が使われ始めたばかりの1996年ごろまでは、
注釈宣言 (のようなもの) の閉じの前に
<script language="javascript"> <!-- hide script from old browsers ... // hide script from old browsers --> </script>
のように自然言語の注釈を入れておくことがよく行われていました (初期の使用例にそう載っていたからみんなで真似したのでしょう)。 (この例のように開き (のようなもの) の後に書くこともできましたが、 閉じの前に書くのが普通だったと記憶しております。) 後にこのような冗長なことはせず、
<script language="javascript"> <!-- ... //--> </script>
のように簡単に書くようになりました。
[35] また、裏技
的なものとして、
<script language="javascript"> <!-- ... // -->スクリプトに対応していません。<!-- ... // --> </script>
のような書き方が紹介されることもありました。
(この例のようになぜかスクリプトの途中に書いているものもあれば、
注釈宣言 (のようなもの) の前後に書いているものもありました。
どこに入れるにせよ、書く内容は一行にするか、
うまくして行頭にスクリプト言語の注釈導入子が来るように調整することが重要です。
また、 etago
が使えないことにも注意が必要です。)
[38] スクリプト言語の演算子として >
を使うことが良くありますが、
古いブラウザの中には注釈宣言を >
で終えてしまうものがあることが知られています。
x > y のような式は y < x
と書くことで回避できます。 HTML 4 18.3.2 Note
もっとも、そのようなブラウザは HTML 4 の時点でも骨董品ですし、
HTML 4 も特にそうするべきだなどとは言っていません。
参考文献:
誤って「//->
」のようなもので終わることもあるみたいです。
[136] script
要素要素の属性と内容の適合性の検査は、
次のように行えます。
type
属性値に設定します。Script
としての検査」に設定します。async
属性と
defer
属性の両方があれば、
警告します。defer
属性があって
src
属性がなければ、警告します。async
属性があって
src
属性がなければ、警告します。crossorigin
属性があって
src
属性がなければ、警告します。charset
属性があって
src
属性がなければ、不適合を報告します。module
(ASCII大文字・小文字不区別)async
属性があれば、不適合を報告します。charset
属性があれば、不適合を報告します。crossorigin
属性があれば、不適合を報告します。defer
属性があれば、不適合を報告します。nonce
属性があれば、不適合を報告します。src
属性があれば、不適合を報告します。async
属性があれば、検査します。charset
属性があれば、検査します。crossorigin
属性があれば、検査します。defer
属性があれば、検査します。nonce
属性があれば、検査します。src
属性があれば、検査します。language
属性があれば、language
属性値が
ASCII大文字・小文字不区別で javascript
と一致するなら、text/javascript
(ASCII大文字・小文字不区別) なら、src
属性があれば、[246] HTML要素の状態に加えて、次の状態を持ちます。innerHTML
等の時)
にも設定されます。script
要素に設定されます。
初期状態では未設定です >>130。script
要素のスクリプトの実行との相対的な順序が保存されるべき
(ブロッキング) か否か (非ブロッキング) の判断に使われるフラグです。
初期状態では設定され >>130、
async
内容属性が操作されると消去されます。script
要素から得たスクリプトです。
[183] かつては次の状態がありました。
[477] script
要素の処理は、 HTML要素の中でもトップレベルに複雑です。
イベントループはもちろん、
構文解析器とも密結合しています。
[412] 要素の作成時点で、作成方法により、次のように各フラグが設定されます。createElement
, createElementNS
innerHTML
, outerHTML
,
insertAdjacentHTML
, createContextualFragment
)xml-stylesheet
で参照された
XSLTスタイルシート >>130transformToDocument
>>130transformToFragment
>>130cloneNode
setAttribute
等で async
内容属性追加
[479] 更に、要素が文書に挿入された時点で、スクリプトの準備が行われます。 ただしスクリプトではなく構文解析器によって挿入された場合は、 (開始タグ時点で発生する) 挿入の時点ではなく、終了タグ時点で行われます。
[480] スクリプトの準備の後に、スクリプトブロックの実行で、 実際にスクリプトが実行されます。これは fetch など必要な条件が整った時に行われます。 (スクリプトの準備から直接呼び出されることもあれば、 構文解析完了時などかなり遅延される場合もあります。)
[481] これだけでも相当複雑ですが、構文解析器が挿入した
script
要素のスクリプトが document.write
を呼び出し、そこで構文解析器が再帰的に実行されて script
要素が新たに挿入される場合も考慮する必要があるので、
スパゲッティもびっくりなレベルで複雑に交錯しています。
[414] 構文解析器は、 script
開始タグの処理において
script
要素要素を作成した直後、
挿入する直前に、次のようにしなければなりません >>413, >>424。
[420] HTML構文解析器は、 "in text" 挿入モードで
script
要素が現在節点の時
EOF 字句を処理する場合には、
開いている要素のスタックから現在節点を除去する直前に、
次のようにしなければなりません >>419。
[423] 構文解析器構文解析器は、 script
要素要素が現在節点である時、要素を開いている要素のスタックから
pop したり、挿入モードなど構文解析器の状態を適宜変更した直後に、
次のようにしなければなりません >>422, >>424。
document.write
が呼び出されることがあります。script
終了タグを処理する時に実行されます >>422。
XML構文解析器では script
要素が開いている要素のスタックから pop した時に実行されます >>424。
整形式でない XML文書を考慮する場合は、仕様書に明文化されている場合の他、
複数の要素をまとめて pop する場合もあるかもしれません。[430] Firefox と IE11 は HTML Standard に従いスクリプト実行前にマイクロタスクチェックポイントを実行するように見えます。 Chrome は実行しないように見えます。
[250] 節点子節点の節点の接続の処理は、
次のようにしなければなりません >>130。
[247] clone 時の処理は、 cloning steps 参照。
[257] 要素のスクリプトの準備は、 次のようにしなければなりません >>130。
src
属性がなく、
子供テキスト内容が空文字列の場合、classic
に設定します。module
と ASCII大文字・小文字不区別で一致module
に設定します。nomodule
属性があって、
要素のスクリプトの型が classic
の場合、src
属性を持たない場合、script
とソーステキストについて
Should element's inline behavior be blocked by Content Security Policy? を実行した結果に設定します。Blocked
なら、ここで停止します。event
属性と
for
属性を持ち、
要素のスクリプトの型が classic
なら、crossorigin
属性の状態に設定します。nonce
属性が存在する場合、
nonce
属性値。
それ以外の場合、空文字列。integrity
属性が存在する場合、
integrity
属性値。
それ以外の場合、空文字列。parser-inserted
、それ以外なら not-parser-inserted
。referrerpolicy
内容属性の現在の状態Window
の環境設定群オブジェクトに設定します。load
イベントの遅延 (>>248) を開始します。src
属性があれば、classic
module
[316] スクリプトのfetchの続きの処理は、
スクリプトについて次のようにしなければなりません >>130。
[320] スクリプトの準備は、次の動作から呼び出されることがあります。
[319] 利用者エージェントは、性能のため、
script
要素に src
属性の設定が行われた時点で、スクリプトの準備によるスクリプトのfetchを行って構いません
>>130。 (実行はまだ行わず、後に文書に挿入された時に
(属性などの状況が変わっていなければ) fetch 結果を利用します。)
[264] スクリプトの準備の処理に関連して、
script
要素には次のような性質があります。language
属性は、 type
属性があれば無視されます。type
属性の MIME型に引数を指定すると、
JavaScript とはみなされず、スクリプトは実行されません。innerHTML
などで挿入された script
要素は、実行されません。script
要素は、(適当な属性の変更などを経て) 別の機会に実行される可能性があります。
その場合は async
属性が設定されていたものとみなされることがあります。event
属性や for
属性は、古典スクリプトでのみ効力を持ちます。charset
属性は、古典スクリプトでのみ効力を持ちます。script
要素が fetch 待ちの間に他の文書に adopt されると、
そのスクリプトは実行されなくなります。しかし fetch
完了まで構文解析器の停止やload
イベントの遅延は継続します。defer
属性と async
属性は、古典スクリプトでは src
属性が無い時無視されます。src
属性の有無で動作が大きく変わりますが、
モジュールスクリプトではそこまで大きくは変わりません。
[364] script
要素は、
スクリプトの準備の実行の過程で、
スクリプトの準備完了 >>130
となります。
[248] script
要素のスクリプトが準備完了するまで、
節点文書のloadイベントを遅延しなければなりません >>130。
つまり構文解析器の動作中にスクリプトのfetchが開始されると、
それが (成功であれ失敗であれ) 完了するまでは load
は発火されません。
[365] 要素のスクリプトの準備完了により、
次のようにしなければなりません >>130。
[164] script
要素から作成されたスクリプトの実行のタイミングは、
構文解析器によって作られた script
要素か否かや、属性の有無により、何種類かあります。
src
& "parser-inserted") or has a style sheet that is blocking scripts の場合src
& defer
& "parser-inserted" の場合[170] >>169、>>165、>>166 は、構文解析器を呼び出したタスクの中で直接スクリプトが同期的に実行されます。
いずれにせよ構文解析器内部でスクリプトが実行されるのは、 HTML または SVG
の script
終了タグ (または
SVG script
空要素タグ) の処理中に限られます。
[171] >>167 と >>168 は、構文解析器とは別のタスクでスクリプトが実行されます。
[172] タスクはイベントループによって処理されるので、
>>171 の場合構文解析器とスクリプトが同時に実行されることはありません。
また UIイベントや setTimeout
のコールバックなどが構文解析器の動作期間中に実行されることもありますが、
やはり別のタスクとして処理されるので、構文解析器や他のスクリプトと同時に実行されることはありません。
[173] なお script
要素のスクリプトは、
それ自体のコードの実行の他に、前後に各種イベントがdispatchされたり、
エラーの報告が行われたりすることがあり、同期的に複数のスクリプトが同タスク内で実行されることがあります
(が、やはり同時にではありません)。
[174] script
タグの処理前にはマイクロタスクチェックポイントがあり、
マイクロタスクがあればそのタイミングで、つまり構文解析器と同じタスクの内部で同期的に実行されます。
[360] 要素の実行タイミングの種別は、次の通り決定しなければなりません >>140。 甲乙丙丁戊己のいずれかに定まります。
[467] 文書のpending parsing-blocking script >>130
は、script
要素か null のいずれかです。
初期状態では null です。
[468] これは、 <script src>
で指定された外部スクリプト資源の読み込み待ち、
またはスタイルシートの読み込み待ち (has a style sheet that is blocking scripts)
のためにスクリプトの実行および構文解析器の一切の動作が停止される時に使われます。
[469] スクリプトの準備でスクリプトが実行されない場合に、
script
要素に設定されます (>>361)。
準備が整ってスクリプトが実行される時に、消去されます (>>450)。
[470] document.write
, document.writeln
,
document.close
では、
構文解析器の処理を実行するべきかどうかの判定に使われています。
[476] pending parsing-blocking script が設定されている時は、 (他のフラグの状態も含めて)
構文解析器の進行が完全に停止されていますから、
新たな script
要素が構文解析器により挿入されることもなく、
従って別の要素が pending parsing-blocking script となることもありません。
[466] script
終了タグの処理 (>>423) から呼び出される、
構文解析器の pending parsing-blocking script の処理は、
次のようにしなければなりません >>422, >>424。
[446] 続きの処理は、構文解析器とスクリプトについて次のようにしなければなりません >>422, >>424。
[474] スクリプト入れ子水準の分岐 (>>445) より、
document.write
の再帰的な構文解析器実行中に
script
要素で処理が中断される場合には、
そこで document.write
の構文解析は中断されて、
document.write
の呼び出し元スクリプトの続きの実行に移ります。
再帰的な構文解析器とスクリプトがすべて終了して最外構文解析器にまで戻ってきた時に、
先送りしていた script
要素を (更に待つ必要があるなら待ってから)
実行することになります。
[483] 文書のlist of scripts that will execute when the document has finished parsing >>130
は、 script
要素のリストです。
初期状態では空です。
[485] これは defer
属性の動作を実現するためのものです。
(モジュールスクリプトの場合は標準動作が defer
属性相当なので、それも含まれます。)
[487] 構文解析器構文解析器の処理終了時に呼び出される stop parsing で、構文解析終了後のスクリプト実行の処理は、 続きの処理について次のようにしなければなりません >>482。
[490] 条件達成後、構文解析器とスクリプトと続きの処理について次のようにしなければなりません >>482。
[379] 要素に関するスクリプトブロックの実行は、
次のようにしなければなりません >>130。module
なら、currentScript
に設定します。classic
で、
要素の根が影根でないなら、currentScript
を、要素に設定します。currentScript
を、 null
に設定します。currentScript
を、旧スクリプトに設定します。module
なら、module
なら、
[410] スクリプトの fetch に関するエラーは、 error
イベントで通知されます。これは起源に関わらず詳しい情報が提供されません。
[305] 要素のエラーを通知するタスクを追加するとは、次のようにすることを言います。
[391] 要素のエラーを通知するとは、次のようにすることを言います >>130。
[411] スクリプトの実行時エラーは、他のスクリプト同様に例外の報告により処理されます。 こちらは起源次第で報告内容が省略されることがあります。
HTMLScriptElement
インターフェイス[190] script
要素の要素インターフェイスは、
HTMLScriptElement
です >>130。
[191] HTMLElement
インターフェイスを継承しつつ、
次のメンバーが定義されています。
HTMLScriptElement
インターフェイスのメンバー[43]
Web メイルにおける HTML メイル:
HTML を利用者界面として利用した MUA
(いわゆる Webメイル) で HTML
文書が含まれるメイル・メッセージを表示する時には特に注意が必要です。
script
要素などスクリプトが実行され得るものをそのまま
HTML に含めると、 Webブラウザ側でその HTML 文書全体
(HTMLメイル自体とその周りの利用者界面を含む全体)
の権限でスクリプトが実行されることになります。
Webブラウザ外に被害が及ぶかという点では通常の鯖側のスクリプトの安全上の脅威と変わりませんが、 利用者界面の部分を介して利用者の意図せぬ (削除などの) 操作を行ったり、受信したメッセージや個人情報が流出したりする危険性があります。
script
の誕生[2] script
要素は、 NN2 が LiveScript
と共に実装したのがはじめであると考えられています。
[590] Navigator Scripting, , http://web.archive.org/web/19970606181855fw_/http://www28.netscape.com/eng/mozilla/2.0/handbook/javascript/script.html
JS 1.0
[591] null, , https://web.archive.org/web/20010208103254/http://home.netscape.com/eng/mozilla/3.0/handbook/javascript/getstart.htm#996824
JS 1.1
script
script
を実装した。
現行仕様とほぼ同じ。[20] script
要素がはじめて公式な仕様書に入ったのは
1997年1月の HTML 3.2 でした。しかし、
このときの最終的な勧告では詳細が決まらず、
将来の版のために予約すると述べるに留まっていました。
<!ELEMENT SCRIPT - - CDATA -- placeholder for script statements --> HTML 3.2 DTD
[12] その後1997年12月の HTML 4 で、 script
要素型はようやく正式な仕様の一部となりました。
当時 WinIE や NN が実装していた script
の基本的な機能が仕様に入りましたが、 WinIE だけが実装していた
event
属性と for
属性は、
将来のために予約とされました。
[24] 1998年に勧告された DOM 1 やその後の DOM 2 では、
script
要素型に対応する HTMLScriptElement
界面が定義されています。ここでは、標準の属性の他、
for
属性と event
属性も将来の使用のために予約
として定義だけされています。
[26] >>24-25 将来の使用は M$ の仕様の間違いじゃないのかな。
[32] >>24-26 その後 XHTML 1 が標準化されましたが、予約2属性はやはり正式な仕様には昇格せず、 このまま忘れ去られようとしています。しかし、両属性の機能は拡張して汎用化されて XML事象仕様の一部として標準化されました (2002年)。
[4] src
属性が指定されている場合、
スクリプトはその外部資源で定義されます。
UA
は内容を無視し、指定された
URI のスクリプトを取り寄せなければなりません。
src
属性が指定されていない場合、
UA
は内容をスクリプトとして解釈しなければなりません。
HTML 4 18.2.1
[30] XHTML
より前の HTML では、
script
要素の内容は style
要素の内容同様文字データ
(CDATA
) 宣言内容とされていました。
つまり、 script
要素内ではほとんどのマークは認知されず、
etago
(</
) の
直後に名前開始文字 (ラテン文字など) または
tagc
(>
)
が来たらそこで script
要素が終わることになっていました。
ですから、スクリプト言語の演算子などとして HTML のマーク文字が登場することがよくありますが、 そのような場合にもほとんど文字参照化する必要がありませんでした。
[36]
ETAGO
がかけないのは
のデータを作る時などにしばしば問題となり、その最盛期には、
これが原因でうまく動かないことに悩む人もよく見受けられました。
回避するためには、そのスクリプト言語の文字列連結を使ったり
('<' + '/a>')、 escape (quote) 機能を使ったり
('<\/a>')、文字生成関数を使ったり
("<" & Chr (47) & "a>")
する方法がよく紹介されました。document
.write
[33] しかし、 XML では
CDATA
宣言内容は使えないので、
XHTML 1 では
PCDATA
と宣言されています。
ですから、 STAGO
(<
) は必ず escape
して <
としなければならないなどの制限があります。
これを回避するために CDATA
区間を使う方法がよく紹介されますが、
そうすると多くの既存の WWW
ブラウザとの互換性が失われてしまいます。
ですから、 XHTML で
script
要素を使う時は src
属性を使った外部スクリプトとするのが良いと言われています。
[41]
src
で指定された資源が取得できない時に内容を使うとする説があります。
SCRIPT - Client-side Script(jp) http://www.htmlhelp.com/ja/reference/html40/special/script.html
しかし、 HTML 4 の規定と矛盾します。 (この文書はほんとうに HTML 4 に基づいているのでしょうか?)
[47] Working with the WebKit Nightly Builds http://developer.apple.com/opensource/internet/nightlywebkit.html (名無しさん 2006-11-05 02:47:22 +00:00)
[48] Surfin’ Safari - Blog Archive » Understanding HTML, XML and XHTML http://webkit.org/blog/?p=68
[37] 二乗した結果を書き出す例 HTML 4 18.3.2 改
JavaScript による例
<SCRIPT type="text/javascript"> <!-- to hide script contents from old browsers function square(i) { document.write("The call passed ", i ," to the function.","<BR>"); return i * i; } document.write("The function returned ",square(5),"."); // end hiding contents from old browsers --> </SCRIPT>
VBScript による例
<SCRIPT type="text/vbscript"> <!-- Function Square(i) Call Document.Write("The call passed ",i," to the function.","<BR>") Square = i * i End Function Document.Write("The function returned ",Square(5),".") ' --> </SCRIPT>
Tcl による例
<SCRIPT type="text/tcl"> <!-- to hide script contents from old browsers proc square {i} { document write "The call passed $i to the function.<BR>" return [expr $i * $i] } document write "The function returned [square 5]." # end hiding contents from old browsers --> </SCRIPT>
[28] script
要素によるスクリプトは、
文書の読込み時に実行されます HTML 4 18.1。
[256] src
属性による外部スクリプトは優先的に実行されるという説を唱える人がいますが、
根拠は不明です。特定の UA ではそうなのかもしれませんが、
少なくても HTML 4 は何も規定していません。
但し、 defer
属性や event
属性は実行時機に影響するのかもしれません。
[31] CGI.pm
は、 XHTML 出力 mode だと、
注釈宣言内に CDATA
区間宣言という素晴らしい出力をしてくれます(w
[50]
Bug 60724 – <script> tag inside <applet> tag executes if Java enabled (2007-02-10 13:51:33 +09:00
版) https://bugzilla.mozilla.org/show_bug.cgi?id=60724
(名無しさん)
[34]
src
属性のある script
の中に
noscript
を書く困った人がいます。。。
(名無しさん 2004-09-14 07:54:57 +00:00)
[17] 仕様によれば (>>4)、 src
属性があるとき UA
は内容を無視しなければなりません。この規定に特に条件は無いようなので、
スクリプト未対応の UA であっても同様でしょう。
ですから、 script
の中に noscript
を書くと、 HTML 4 対応の script
未対応 UA
には無視されてしまうはずです。
[15]
しかし、不思議マーク付けの世界や多くの WWWブラウザの実装では、
html
タグの前後や head
要素と
body
要素の間を含めて、あらゆる場所に出現できるようです。
ダイナミックHTML入門
(Bruce Campbell + Rick Darnell 著, 安藤慶一訳) という入門書では、
スクリプトの場所に関しては標準規格は必要ないようです
などと電波を飛ばしているそうです。
いくつかの書籍のあらさがし http://openlab.ring.gr.jp/k16/htmllint/findfault.html#dynamic-html
[3] ASP などの鯖側で HTML 文書 (もどき) を前処理する類のシステムの一部では、
script
要素 (のようなもの) を拡張して、
runat
属性などを付与して鯖側で実行するものと script
要素としてクライアントに送信するものを区別していることがあります。
(そのような実現方法は開発者がスクリプトの実行を正しく把握しづらくなるのではないかとの懸念はあります。
その点、 NES のように server
要素型という別の要素型を用意するのは一つの考えではありますが、
どんぐりのせいくらべといったところでしょう。)
[13] スクリプトによって HTML 文書を動的に扱う方法として、 JavaScript
の document.write
がよく使われました。
(document.write
は後に DOM 1 で HTMLDocument
界面の write
method として標準化されています。)
HTML 4 仕様書は読み込み時のスクリプトによる文書に書き換えについても規定していますが、
その内容は document.write
(と同様なもの)
を想定しているようです。実際に使われていたのも document.write
(と同様なもの) だけでしょう。というわけで、 write
method の説明もご覧ください。
[39] スクリプトに対応していなかったり、実行しないことにしていたりするときの代替内容を提供する
noscript
が用意されています。アクセス可能性の確保のために、
重要な情報を提供する script
は、
対応する noscript
要素を用意しておくことが極めて望ましいと考えられます。
[45]
XML事象の仕様書には事象取扱器として
script
を使う例があり、
Opera 9 でも script
を事象取扱器にできるように実装されています。
が、 XML事象の属性がある
script
要素も、
文書読込み時には属性がないときと同じように実行されてしまうので、
あまり使いやすくありません。
[73] XHTML2 第6次案までは script
要素がありましたが、
第7次案で handler
に改名されました。
[44] XHTML Frequently Answered Questions http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite
HTML 4 は SGML 応用なのに
document.write
が使えて、
XHTML 1 は XML 応用だから
document.write
が使えないというのはよくわからない。
(名無しさん 2006-08-05 06:53:16 +00:00)
[46] 404 Blog Not Found:javascript - scriptタグによる通信が特許侵害!? http://blog.livedoor.jp/dankogai/archives/50677817.html (名無しさん 2006-11-04 02:20:29 +00:00)
HTML (>>9) に加えて、 | |||
runat | server | なし | 動作場所 >>5 |
[5] runat
は、 M$ の ASP で使われて、値が "server"
である場合に、その要素のスクリプトはサーバーで処理されます。
(クライアントには送られません。) この属性は W3C
の規格では規定されていません。サーバーで処理される以外で使ってはいけません。
[21] {urn:schemas-microsoft-com:xslt}:script
要素を使うと、 XSLT (の XPath を使う文脈)
で利用者定義の関数を使用することが可能となります。
親要素は xslt:stylesheet 要素又は xslt:transform 要素です。内容は #PCDATA です (たぶん)。
implements-prefix | 名前空間接頭辞 | 必須 | 関数の名前空間 |
language | html:language と同じ | 不明 | スクリプト言語 |
language 属性には html:script
要素の場合と同じ値を指定できるそうです。
implements-prefix
属性には、 XSLT
側で関数を呼ぶ際の XML名前空間接頭辞を与えます。
この値は自分以上の要素の xmlns
属性を使って宣言されていなければならないはずです。
[22] 言葉で説明するより実例を見たほうが分かりやすいでしょう。
xslt:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:foo="http://foo.example/"> msxsl:script language="JScript" implements-prefix="foo" function bar (baz) { return baz; } </msxsl:script> xslt:template select="element1" xslt:apply-templates select="foo:bar(element2)"/ </xslt:template> </xslt:stylesheet>
この場合は関数 foo:bar(baz)
は引数 baz
をただ返すだけの何の面白味もないものですが、
雰囲気はつかめるでしょう。
[23] Xalan では XSLT スタイル・シートで
JavaScript などを使うのに xalan:script
要素を使います。
親要素は xalan:component 要素です。
lang | CDATA | 必須 | スクリプト言語 |
src | URI | (指定なし) | 外部スクリプト参照 |
HTML や MSXML での書き方と互換性はありません。
script
要素の実装[69] Presto と WebKit は script
開始タグで認められている斜線を認識し、
void要素と同じような挙動をします。この挙動は既存の Widget (Opera Widget、Dashboard)
との互換性のために必要です。
[70] Ian Hickson は、特定の非 Web 環境で必要という理由だけで HTML5 仕様を変更するつもりはないと >>68 で述べています。 (かなり前にもこの問題が取り上げられたときに同じことを言っていた気がします。)
[323] HTML5 では、初めてスクリプトの処理モデルが規定されました。
[324] データブロックとしての利用法も HTML5 で追加されました。
[49]
Bug 178258 – document.forms has no properties on a page without <body> (JavaScript error) (2007-01-29 17:04:28 +09:00
版) https://bugzilla.mozilla.org/show_bug.cgi?id=178258
[79] 図にしましたwwww script要素の内容の制約の図
[51]
HTML5 script start tag should select appropriate content model according to src (David Woolley 著, 2007-04-21 22:52:46 +09:00
版) http://lists.w3.org/Archives/Public/www-html/2007Apr/0053.html
(名無しさん 2007-04-28 03:58:40 +00:00)
[52]
HTML5 IRC logs: w3c / #html-wg / 20070423 (2007-06-30 15:38:51 +09:00
版) http://krijnhoetmer.nl/irc-logs/html-wg/20070423#l-144
[03:47] <mjs> Lachy: since you were discussing Safari's handling of <script /> earlier, we might make that a Dashboard-only quirk - we foolishly did it for Firefox compatibility, and then a huge number of Dashboard widgets started relying on it, and now Firefox no longer handles it as empty in HTML
(名無しさん)
[53]
http charset, <script> and IE (tex 著, 2007-07-30 06:33:36 +09:00
版) http://lists.w3.org/Archives/Public/www-international/2007JulSep/0040.html
(名無しさん)
[54]
“消えた初音ミク”問題 ヤフーとGoogle「原因を調査中」 - ITmedia News (2007-10-18 22:03:18 +09:00
版) http://www.itmedia.co.jp/news/articles/0710/18/news065.html
<script language="JavaScript" type="text/javascript"> <!-- var pid="784200073"; var locs="ITOT1"; var random=new Date(); var js_url='http://dlv.itmedia.co.jp/adsv/v1?posall='+locs+'&id='+pid+'&rnd='+random.getTime(); document.write('<sc'+'ript language="JavaScript" type="text/javascript" src="'+js_url+'">'); document.write('</sc'+'ript>'); //--> </script>
[55]
Re: <script> for non-script content (Ian Hickson 著, 2008-05-14 16:53:44 +09:00
版) http://lists.w3.org/Archives/Public/public-html/2008May/0291.html
(名無しさん)
[56]
冬様もすなる☆日記というもの (2008年7月) (わかば 著, 2008-07-21 17:28:49 +09:00
版) https://suika.suikawiki.org/~wakaba/d/d200807#d21-1
(名無しさん)
[57]
Kanasan.JS JavaScript 第 5 版読書会 #5: Days on the Moon (2008-07-26 22:46:16 +09:00
版) http://nanto.asablo.jp/blog/2008/07/25/3648120
(名無しさん)
[58]
OpenSocial Data Pipelining - OpenSocial Specifications (2008-09-04 06:00:40 +09:00
版) http://wiki.opensocial-templates.org/index.php?title=OpenSocial_Data_Pipelining
(名無しさん)
[60]
High Performance Web Sites :: “Delayed Script Execution” in Opera (2008-09-17 13:31:22 +09:00
版) http://www.stevesouders.com/blog/2008/09/11/delayed-script-execution-in-opera/
[62] John Resig - JavaScript Micro-Templating ( 版) http://ejohn.org/blog/javascript-micro-templating/
[63]
defer
、async
なしの場合で、
src
ありの場合に、外部スクリプトが実行されるまで構文解析は停止するか?
Index of /~wakaba/-temp/test/html/script/src ( 版) http://suika.fam.cx/~wakaba/-temp/test/html/script/src/
[64] HTML として記述された script
要素の場合 (nodefer-1)、
どのブラウザも構文解析が停止します。
[65] DOM によって作成された script
要素の場合 (nodefer-script-1)、
Opera 以外は構文解析を続行し、外部スクリプトは準備が出来次第実行します
(HTML5 に従った動作)。 Opera 9.61 は >>64 同様、構文解析を停止します。
[59]
OSML で鯖側で処理される HTML 片の script
要素
(type="text/os-data"
や
type="text/os-template]}" には、
beforeData
や requireData
のような属性を更に指定できます。
(名無しさん)
[61] Bug 304786 – dynamically inserting/adding xul:script via DOM doesn't work ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=304786
[66] [JavaScript] とてもシンプルに自分自身が属する script 要素を取得 - IT戦記 ( 版) http://d.hatena.ne.jp/amachang/20061201/1164986067
[67] Scripting – SVG Tiny 1.2 ( 版) http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/script.html#ScriptElement
[71] Index of /script-execution ( 版) http://testsuites.opera.com/script-execution/
[72] SVGを直接HTMLに埋め込む方法(プラグインを使わない) - dhrnameの開発日誌 ( 版) http://d.hatena.ne.jp/dhrname/20080105/1199534939
[74] Re: [HTML5] DOMContentLoaded fires before CSS resources loaded? (Ian Hickson 著, 版) http://lists.w3.org/Archives/Public/public-html/2009Aug/0064.html
[75] (X)HTML5 Tracking ( 版) http://html5.org/tools/web-apps-tracker?from=4102&to=4103
[76] (X)HTML5 Tracking ( 版) http://html5.org/tools/web-apps-tracker?from=4177&to=4178
[77] (X)HTML5 Tracking ( 版) http://html5.org/tools/web-apps-tracker?from=4178&to=4179
[78] IRC logs: freenode / #whatwg / 20091026 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20091026#l-421
[80] Forum Nokia - Driving innovation for mobile application developers ( 版) http://www.forum.nokia.com/
[81] HTML5 Revision Tracker ( 版) http://html5.org/tools/web-apps-tracker?from=5156&to=5157
[82] [whatwg] The choice of script global object to use when the script element is moved ( 版) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-September/028457.html
[83] Web Applications 1.0 r5449 Make the 'already started' flag actually work. Also, reorder things in the 'run' algorithm so that we check things in order of cost to check, instead of doing the work up front and then the checks afterwards.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10240 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5448&to=5449
[84] Web Applications 1.0 r5496 Allow parser-inserted scripts to rerun if they failed to be run by the parser.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10519 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5495&to=5496
[85] Web Applications 1.0 r5499 Make policy checks for <script> happen after the flag is set that prevents the script from being run again, so that if somehow an attacker causes a document to be reinserted somewhere that has scripts enabled, the scripts still won't run.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10523 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5498&to=5499
[86] Web Applications 1.0 r5545 Match Gecko for character encoding processing for <script>Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10656 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5544&to=5545
[87] Web Applications 1.0 r5597 add a note about script executionFixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10539 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5596&to=5597
[88] Web Applications 1.0 r5663 Make style sheets block scripts even in descendant documentsFixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10575 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5662&to=5663
[89] Using Inline XAML ( ( 版)) http://msdn.microsoft.com/en-us/library/cc189016%28v=vs.95%29.aspx
[90] Data Binding - Ample SDK ( ( 版)) http://www.amplesdk.com/examples/core/aml/databinding/
[91] [whatwg] Re: rel="script" ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2005-July/004503.html
[92] [whatwg] The choice of script global object to use when the script element is moved ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-February/030170.html
[93] Web Applications 1.0 r5817 Make script-inserted external scripts that have .async=false execute in the insertion order, default to true ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5816&to=5817
[94] Hixie's Natural Log: Script execution order post-mortem ( ( 版)) http://ln.hixie.ch/?start=1296711456&count=1
[95] Web Applications 1.0 r5883 Make a parser-inserted script not run if it is moved to another document before it executes (and not even fetch if it is parsed into another document than its parser's document). ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5882&to=5883
[96] Web Applications 1.0 r5891 Continue the conformance chain for inline <script> elements. Somehow I'd missed that case. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5890&to=5891
[97] Web Applications 1.0 r5905 Make sure that all synchronous sections run before <script> elements, so that a <script> following a <video> has a state that doesn't depend on whether the browser splits up its parser tasks. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5904&to=5905
[98] IRC logs: freenode / #whatwg / 20110203 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110203
[99] Web Applications 1.0 r6049 Try to warn implementors about XSLT. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=6048&to=6049
[100] [whatwg] Proposal for separating script downloads and execution ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031768.html
[101] IRC logs: freenode / #whatwg / 20110529 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110529
[102] [whatwg] Should script run if it comes from a HTML fragment? ( 版) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-June/031941.html
[103] Voice Browser Call Control: CCXML Version 1.0 ( ( 版)) http://www.w3.org/TR/2011/REC-ccxml-20110705/#Script
[104] [whatwg] Feedback regarding script execution ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-September/033132.html
[105] Web Applications 1.0 r4103 Define how <script> gets blocked while <style>@import</style>, and a general rewrite of how <script>s are executed and interact with the parsers. ( 版) http://html5.org/tools/web-apps-tracker?from=4102&to=4103
[106] IE7 も IE8 も、文書中にない要素に script
を appendChild
しただけで実行してしまいます。
これはひどい・・・・。
[107] [whatwg] <script> features ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-February/034629.html
[108] IRC logs: freenode / #whatwg / 20120206 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120206
[109] IRC logs: freenode / #whatwg / 20120427 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120427#l-514
[110] [whatwg] script-related feedback ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-May/035713.html
[111] IRC logs: freenode / #whatwg / 20120620 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120620#l-620
[112] IRC logs: freenode / #whatwg / 20120621 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120621
[113] Web Applications 1.0 r7239 Make <script/> in SVG in text/html execute. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7238&to=7239
[114] XMLのWebAPIを爆速で使いこなせるフレームワーク - Yahoo! JAPAN Tech Blog ( ( 版)) http://techblog.yahoo.co.jp/programming/bakusoku-yql/
[115] Web Applications 1.0 r7420 Make the parser match the implementations (and not be more even more crazy than necessary). ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7419&to=7420
[116] [whatwg] Proposal: Loading and executing script as quickly as possible using multipart/mixed ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038223.html
[117] [whatwg] Script-related feedback ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038429.html
[118] XBL 2.0 ( ( 版)) http://dev.w3.org/2006/xbl2/Overview.html#script-blocks
[119] Web Applications 1.0 r8022 Make <script> be accepted in most places <template> is now accepted, e.g. inside <table>s. Doesn't affect parsing. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8021&to=8022
[120] [whatwg] Script preloading ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-July/039960.html
[121] IRC logs: freenode / #whatwg / 20130709 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130709
[122] Web Applications 1.0 r8124 Rejigger how scripts are described. Work in progress. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8123&to=8124
[123] Web Applications 1.0 r2529 MAJOR CHANGES: Revamp the way scripts are specified, along with their interaction with resolving relative URLs, etc. Give enough detail to justify objects in the DOM not being garbage collected randomly when still in use. Define script groups, to handle scripts going away during document.open() and session history navigation. Define why and how setTimeout(), database transactions, etc, handle page transitions. Drop the terms 'with' and 'without' script, use script is 'enabled'/'disabled' instead. Define 'unload' and 'beforeunload'. Rework how onfoo= and .onfoo event handler attributes are defined. Rework how the content model of <noscript> is defined. Reword the way javascript: is defined to use the new terminology. Add a few notes of things that came up while I was doing all that.]] ( ( 版)) http://html5.org/tools/web-apps-tracker?from=2528&to=2529
[124] IRC logs: freenode / #whatwg / 20130817 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130817
[125] Web Applications 1.0 r8247 The bulk of this is editorial: refactoring how scripts are defined so that all the common stuff is in a shared 'settings object' rather than being duplicated per script. But this also cleans up how postMessage() interacts with the event loop and a few other things I've since forgotten. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8246&to=8247
[126] テンプレートエンジンでJavaScriptを動的生成する際のアンチパターン - 金利0無利息キャッシング – キャッシングできます - subtech ( ( 版)) http://subtech.g.hatena.ne.jp/mala/20131108/1383887454
[127] Web Applications 1.0 r8299 Remove the parts of the script content model that could lead to unbalanced crazy ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8298&to=8299
[128] Web Applications 1.0 r8313 Another attempt at redefining <script> content rules to make zcorpan happy ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8312&to=8313
[129] Web Applications 1.0 r8313 Another attempt at redefining <script> content rules to make zcorpan happy ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8312&to=8313
[158] XML Binding Language (XBL) 2.0 ( ( 版)) http://www.w3.org/TR/2007/CR-xbl-20070316/#the-script
[159] Issue 329531 - chromium - Speculative parser fetches <script src> with unsupported type="" - An open-source project to help move the web forward. - Google Project Hosting ( ( 版)) https://code.google.com/p/chromium/issues/detail?id=329531
[160] SVG2 Requirements Input - SVG ( ( 版)) http://www.w3.org/Graphics/SVG/WG/wiki/SVG2_Requirements_Input#Consider_allowing_async.2Fdefer_on_.3Csvg%3Ascript.3E
[161] XML Binding Language (XBL) 2.0 ( ( 版)) http://www.w3.org/TR/2007/CR-xbl-20070316/#loading0
[162] IRC logs: freenode / #whatwg / 20140604 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20140604
[163] The "initialization" steps for Web browsers ( ( 版)) https://mail.mozilla.org/pipermail/es-discuss/2014-June/037544.html
[175] IRC logs: freenode / #whatwg / 20140721 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20140721
[176] XML Events 2 ( ( 版)) http://www.w3.org/TR/xml-events2/#s_script_module
<script id="ssInfo" type="text/xml" warning="DO NOT MODIFY!">
<ssinfo >
<fragmentinstance id="fragment14" fragmentid="Universal_Localization_Fragment" library="server:UNIVERSAL_LOCALIZATION_FRAG">
</fragmentinstance>
...
<fragmentinstance id="fragment44" fragmentid="ocom-commonassets" library="server:OCOM-FRAGMENT-LIBRARAY">
</fragmentinstance>
</ssinfo>
</script>
[178] Add async/defer script loading diagram · whatwg/html@940b7f7 ( 版) https://github.com/whatwg/html/commit/940b7f70d002e01685f913e2fc9350c5208e5927
On the other hand, we have the script element with which to wrap some embedded XML RDF.
[279] HTML Standard と Firefox は、構文解析器が作成した
script
の節点文書が他の文書となっている場合、
スクリプトを実行しません。
[280] IE9 と IE11 は、構文解析器が作成した
script
が他の文書に adopt
されたら、以後スクリプトを実行しません。
[325] 2015年末から2016年にかけた HTML Standard の一連の改訂では、 JavaScript 以外のスクリプト言語に関する規定が削除されると共に、 新たにモジュールスクリプトが導入されました。 その他細部の明確化が行われています。
[180] Call out to CSP's inline element hooks · whatwg/html@ee3486e ( 版) https://github.com/whatwg/html/commit/ee3486eb129bc350b5ca684d0c91dff23453ac1a
[181] Report 'inline' when inline violations occur. · w3c/webappsec-csp@eeb5227 ( 版) https://github.com/w3c/webappsec-csp/commit/eeb5227a76dab059002778e95575aed16ca4c2c4
[182] Close #384: add CSP hooks to handle inline events and style · whatwg/html@920c918 ( 版) https://github.com/whatwg/html/commit/920c9183a7990968ecac1aeedae22391f3438791
[184] Rewrite script execution on top of ES · whatwg/html@4891d18 ( 版) https://github.com/whatwg/html/commit/4891d18aaf2df1d40aa61f467a5a10cfc19dd85d
[185] Add <script type="module"> and module resolution/fetching/evaluation · whatwg/html@cd1a9fb ( 版) https://github.com/whatwg/html/commit/cd1a9fb1e83f7d0bc30be8b34ecdaf444a0b19a4
[217] Make script fetching more correct with regard to request destinations · whatwg/html@6dc9c9e ( 版) https://github.com/whatwg/html/commit/6dc9c9e1efcc3122294fb015e4a4eea66456a611
[513] Mitigate dangling markup attacks on nonces. · w3c/webappsec-csp@2c92a09 ( 版) https://github.com/w3c/webappsec-csp/commit/2c92a09beeede27e45f2acef4041aa0a1770fa99
[514] 23509 – Media-specific scripts (<script media="">?) ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=23509
[515] Allow currentScript to return SVGScriptElement · whatwg/html@6762f87 ( 版) https://github.com/whatwg/html/commit/6762f878f3080d5c188c3d8a0fcf6ee9ad8b2df4
[518] Pass cryptographic nonce metadata to Fetch · whatwg/html@5479e07 ( 版) https://github.com/whatwg/html/commit/5479e07a6f6e01062b85b5fe6799752b0370336c
[312] Don't update document.currentScript for module scripts · whatwg/html@6918282 ( 版) https://github.com/whatwg/html/commit/69182823e3dae507380fa9a70d26fe7b51ae62ac
[521] Pass parser metadata to Fetch · whatwg/html@e6500b9 ( 版) https://github.com/whatwg/html/commit/e6500b90244376c023e7b78642dbc7b86829233f
[524] Remove beforescriptexecute/afterscriptexecute events · whatwg/html@1a0b5e8 ( 版) https://github.com/whatwg/html/commit/1a0b5e8377d59462e05a5cffda4b8592324a2785
[314] Execute <script> in shadow trees · whatwg/html@caf203f ( 版) https://github.com/whatwg/html/commit/caf203fd4d9a5047d1ff2edad2290d53e21368ba
[394] currentScript needs to point to removed script elements ( (annevk著, )) https://github.com/whatwg/html/commit/3dc763829ca1598427b588cf08830c1e2af5a05c
<script type="text/javascript" src="/js/ext/sug.js#sv=http://s.marsfinder.jp/mf__ja__ja"></script>
<script type="text/javascript" src="/js/ext/muv.js#sv=http://s.marsfinder.jp/mf__ja__ja"></script>
<script src="/js/ext/tr.js#sv=http://s.marsfinder.jp/mf__ja__ja&hint=2RSeBTMNkEJRiac4rL6RFEbZcnex7Y7-zCgBR02DiWE." type="text/javascript" charset="UTF-8"></script>
<script src="http://search.mitsubishielectric.co.jp/mar/site/js/suggest_ext.js#unitid=fa_all" type="text/javascript" charset="UTF-8"></script>
<script src="http://panasonic.co.jp/common/mf/js/suggest_ext.js#unitid=ja_all" type="text/javascript" charset="UTF-8"></script>
<div class="search-box"><script src="http://search.kokuyo.co.jp/site/js/suggest_ext.js#unitid=ja_all" type="text/javascript" charset="UTF-8"></script>
<div class="search-box"><script src="http://search.kokuyo.co.jp/site/js/suggest_ext.js#unitid=ja_all" type="text/javascript" charset="UTF-8"></script>
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.2";
js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1&appId=192054277515151";
js.src = "//connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v2.4&appId=1422917708013651";
[532] Clarify script encoding fallback ( (Resseguie著, )) https://github.com/whatwg/html/commit/ffbf252f5b1c9793fd59de9e64045ddebfabf982
[533] Align with vocabulary changes in the DOM Standard (annevk著, ) https://github.com/whatwg/html/commit/5b9c5d5a39c38b08e5a5c9334e14804f063235b2
[536] Improve all the script-fetching algorithms (domenic著, ) https://github.com/whatwg/html/commit/b4f40e72fcca8a13eefa8a2dd06258378e76fcb7
[2002-06-16] 最近目に付く奇妙なHTMLの注釈記述
最
近、多くのページで以下のような奇妙な注釈の使い方が目に付きます。
<!--//--><script>~スクリプト処理行 なんたらかんたら~</script>
プロバイダに依存せず、全く同一のコードが、全く同じ位置関係で記されている事から、何かのWebページ作成ツールあるいは、ある種のサーバーが出力していると思われますが、それを設計した人は意味を理解せずに作ったんでしょうかねぇ。
[538] Handle error cases during module script tree fetching/running better (domenic著, ) https://github.com/whatwg/html/commit/e1af86747f591e33fd0f3f21f301dc866868c9d4
[539] Mitigate nonce-stealing attacks. (mikewest著, ) https://github.com/w3c/webappsec-csp/commit/fe15bbb0f318b05a90978bd22c9814cb7820bef9
[540] Make document.write etc. throw during parsing custom elements (domenic著, ) https://github.com/whatwg/html/commit/00c6fa07bdb9f0d08a28f6c6e1ababca7d08618c
[541] Fix some callers of "create a module script" (domenic著, ) https://github.com/whatwg/html/commit/73af7511ab638a4fcb7a1db908ea746ad808344a
[542] Fix some callers of "create a module script" (domenic著, ) https://github.com/whatwg/html/commit/73af7511ab638a4fcb7a1db908ea746ad808344a
[545] Do not fire load events for inline scripts (domenic著, ) https://github.com/whatwg/html/commit/1bb62172079f4a30d74dcc7d0d1bf049a69daa22
[549] Don't queue a redundant task to fire module script load events (domenic著, ) https://github.com/whatwg/html/commit/b047cebdbe978df3ec36d4ee08f4c0f024b69b3f
[401] [giowt] (3) PARSER: Only run the SVG script execution logic if a <scr… (Hixie著, ) https://github.com/whatwg/html/commit/7ae642f94e0c262d1f816b73f3fa23de8867d595
[403] Upstream SRI's 'integrity' attribute (mikewest著, ) https://github.com/whatwg/html/commit/4c5066c171610e0c8300a58baf4f94816044cedc
[409] Disallow the integrity attribute for inline scripts (zcorpan著, ) https://github.com/whatwg/html/commit/7a405842a176c30a5d46c3520a1c8827b5483961
[546] 24892 – Specify speculative parsing and that it fetches bogus scripts. See https://code.google.com/p/chromium/issues/detail?id=329531 () https://www.w3.org/Bugs/Public/show_bug.cgi?id=24892
[552] (Re)disallow script defer/async attributes w/o src (sideshowbarker著, ) https://github.com/whatwg/html/commit/3c5180a08f90a375c64f8191f32f8c7ddfec0ba3
[553] Properly instantiate inline module scripts (domenic著, ) https://github.com/whatwg/html/commit/3a3405a42de289ecb08e915b278064a99794731d
[555] Allow not executing scripts inserted by document.write() (domenic著, ) https://github.com/whatwg/html/commit/15b258dc74ffe1ba321b81a1c876f129681a97c2
[558] For users on very slow connections, block document.written scripts · Issue #17 · WICG/interventions () https://github.com/WICG/interventions/issues/17
[559] Allow not executing scripts inserted by document.write() by domenic · Pull Request #1400 · whatwg/html () https://github.com/whatwg/html/pull/1400
[560] Intervening against document.write() | Web | Google Developers () https://developers.google.com/web/updates/2016/08/removing-document-write
[561] Improve <style> and <script> processing and conformance by domenic · Pull Request #3024 · whatwg/html () https://github.com/whatwg/html/pull/3024
[562] Clarify prose around JavaScript MIME types (annevk著, ) https://github.com/whatwg/html/commit/470e168aaddc54e0abcfa302639870c299473c99
[563] Editorial: refactor classic and module scripts to be more alike (domenic著, ) https://github.com/whatwg/html/commit/dce999aac4d9deeefa3b338dd2aeb30c17669bc8
[564] Editorial: refactor classic and module scripts to be more alike (domenic著, ) https://github.com/whatwg/html/commit/dce999aac4d9deeefa3b338dd2aeb30c17669bc8
[565] Editorial: refactor classic and module scripts to be more alike by domenic · Pull Request #2972 · whatwg/html () https://github.com/whatwg/html/pull/2972
[566] Editorial: move base URL from "module script" to "script" (domenic著, ) https://github.com/whatwg/html/commit/5458513792ab00d58e6c91ba48faaa611d034a2e
[567] Make integrity="" work on module scripts (domenic著, ) https://github.com/whatwg/html/commit/9275d955dcd604e959cfcc672e0c234b1b8c00db
[517] Make integrity="" work on module scripts (domenic著, ) https://github.com/whatwg/html/commit/9275d955dcd604e959cfcc672e0c234b1b8c00db
[519] Does integrity="" intentionally not work on module <script>s? · Issue #2382 · whatwg/html () https://github.com/whatwg/html/issues/2382
[543] Require UTF-8 (sideshowbarker著, ) https://github.com/whatwg/html/commit/fae77e3c558b9f083dfb9086752863a4789268f5
[544] Allow UAs to conditionally block on stylesheet loading (domfarolino著, ) https://github.com/whatwg/html/commit/42dd707cbfc0f5d8f88b04ef270f4fcb121a10ff
[569] Editorial: use "child text content" in the <script> processing model (ankurkaushal著, ) https://github.com/whatwg/html/commit/58286f7078b3aceee060ed6d3635ab8749a77238
[570] <script> processing model should use child text content, not the text IDL attribute · Issue #3420 · whatwg/html () https://github.com/whatwg/html/issues/3420
[571] #3420: Editorial fix for the <script> processing model. by ankurkaushal · Pull Request #3421 · whatwg/html () https://github.com/whatwg/html/pull/3421
[572] Use "child text content" to check if a <script> is empty (domenic著, ) https://github.com/whatwg/html/commit/1d64c41e811aab5831be474355bd346c9eaf2874
[328] <script> processing model with various children · Issue #3419 · whatwg/html () https://github.com/whatwg/html/issues/3419
[574] Use "child text content" to check if a <script> is empty by domenic · Pull Request #3451 · whatwg/html () https://github.com/whatwg/html/pull/3451
[575] Editorial: update usage of the MIME Sniffing Standard (domenic著, ) https://github.com/whatwg/html/commit/fc82f4f8774a2e7e80f6c9477bd881f6c783b186
[576] Editorial: update usage of the MIME Sniffing Standard by domenic · Pull Request #3455 · whatwg/html () https://github.com/whatwg/html/pull/3455
[577] Fix authoring guidance to allow async="" on inline module scripts (domenic著, ) https://github.com/whatwg/html/commit/271f19c34786db04a17c16c24807a33113894a68
[578] async="" should be allowed on inline module scripts · Issue #3319 · whatwg/html () https://github.com/whatwg/html/issues/3319
[579] Fix authoring guidance to allow async="" on inline module scripts by domenic · Pull Request #3324 · whatwg/html () https://github.com/whatwg/html/pull/3324
[580] Fix authoring guidance to allow async="" on inline module scripts by domenic · Pull Request #3324 · whatwg/html () https://github.com/whatwg/html/pull/3324
[582] Allow <script> inside <hgroup> (annevk著, ) https://github.com/whatwg/html/commit/9bc8dee5ace8a8c01b9a621b4cda3377867065f1
[583] [acgiowt] (2) Catch up with recent changes that were made while the p… (Hixie著, ) https://github.com/whatwg/html/commit/d2021df727adb22ee6d4c7e7968aa5abbd93a307
[584] Allow <script> inside <hgroup> by annevk · Pull Request #3383 · whatwg/html () https://github.com/whatwg/html/pull/3383
[585] Add referrerpolicy attribute support to <script>s (domfarolino著, ) https://github.com/whatwg/html/commit/0d28f8fc3a7c272f6d148f647ead29965a56ab60
[586] Why no referrerpolicy="" on <script>? · Issue #96 · w3c/webappsec-referrer-policy () https://github.com/w3c/webappsec-referrer-policy/issues/96
[587] Add referrerpolicy attribute support to <script>s by domfarolino · Pull Request #3678 · whatwg/html () https://github.com/whatwg/html/pull/3678
[588] Return the completion record result from running a script (mattto著, ) https://github.com/whatwg/html/commit/ad3dda51552aeeeea60540c7f1b513fe45b486a5
[589] Stop using textContent in normative text (annevk著, ) https://github.com/whatwg/html/commit/ec860d872de3712277242655562a4d2a1325592a
type
属性やlanguage
属性によって決まります。<script type>
を参照。