* noscript 要素型 (HTML, XHTML 1)

[1] [[HTML]] の [DFN[[CODE(HTMLe)[noscript]] 要素型]]の要素は、
[[スクリプト]]が実行されないときの[[代替内容]]を提供します。

[9] 仕様書:
- [[HTML 4]]
-- [CITE[18.3.1 The [CODE(HTMLe)[NOSCRIPT]] element]]
<IW:HTML4:"interact/scripts.html#edef-NOSCRIPT">

[8]
:状態:[[W3C]] [[勧告]]
:[[名前空間URI]]:[CODE(URI)@en[[[http://www.w3.org/1999/xhtml]]]]
:[[局所名]]:[CODE(HTMLe)@en[[[noscript]]]]
([Q@en[[[script]]]] ([[スクリプト]]) の否定
[WEAK[(未対応 / 未実行)]] より)
:[[開始タグ]]:必須
:[[終了タグ]]:必須
:[[内容模型]]:[CODE(SGML)[(%[[block]];)+]]
:出現できる文脈:[CODE(SGML)[%block]] な文脈
:[[属性]]:
,属性名	,属性値	,既定値	,説明	,状態	,出典
,[CODE(HTMLa)[[[class]]]]	,	,(なし)	,[[級]]	,"[HTML 4] %[[coreattrs]] ⊂ %[[attrs]], [XHTML 1] [[Core]] ⊂ [[Common]]"
,[CODE(HTMLa)[[[dir]]]]	,	,	,[[書字方向]]	,"[HTML 4] %[[i18n]] ⊂ %attrs, [XHTML 1] [[I18N]] ⊂ Common"
,[CODE(HTMLa)[[[id]]]]	,[CODE(SGML)[[[ID]]]]	,(なし)	,一意識別子	,"[HTML 4] %coreattrs ⊂ %attrs, [XHTML 1] Core ⊂ Common"
,[CODE(HTMLa)[[[lang]]]]	,	,	,[[自然言語]]	,[HTML 4] %i18n ⊂ %attrs
,[CODE(HTMLa)[[[xml]]:lang]]	,	,	,自然言語	,[XHTML 1] I18N ⊂ Common
,[CODE(HTMLa)[[[onclick]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %[[events]] ⊂ %attrs, [XHTML 1] [[Events]] ⊂ Common"
,[CODE(HTMLa)[[[ondblclick]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onkeydown]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onkeypress]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onkeyup]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onmousedown]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onmousemove]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onmouseout]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onmouseover]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[onmouseup]]]]	,[CODE(SGML)[%[[Script]]]]	,(なし)	,	,"[HTML 4] %events ⊂ %attrs, [XHTML 1] Events ⊂ Common"
,[CODE(HTMLa)[[[style]]]]	,	,	,スタイル情報	,"[HTML 4] %coreattrs ⊂ %attrs, [XHTML 1] [[Style]] ⊂ Common"
,[CODE(HTMLa)[[[title]]]]	,	,	,注釈的題	,"[HTML 4] %coreattrs ⊂ %attrs, [XHTML 1] Core ⊂ Common"

** レンダリング

[10] スクリプト対応 UA は、次の場合のみ [CODE(HTMLe)[noscript]]
の内容をレンダリングするべきです [SRC[HTML 4 18.3.1]]。
- スクリプトを実行しないように設定されている場合。
- 文書の[RUBYB[前の方] [earlier]]の [CODE(HTMLe)[[[script]]]]
要素で呼出れたスクリプトの言語に対応していない場合。

スクリプト未対応 UA は、 [CODE(HTMLe)[noscript]] 
の内容をレンダリングしなければなりません [SRC[HTML 4 18.3.1]]。

[12] どうやら、[[内在事象]]属性は無視のようです。

* 歴史


** NN3

[41] [[NN2]] には [CODE[noscript]] はありませんでした。

[43] [CITE[null]], [TIME[2024-08-16T09:40:32.000Z]], [TIME[2001-02-08T10:44:28.280Z]] <https://web.archive.org/web/20010208103254/http://home.netscape.com/eng/mozilla/3.0/handbook/javascript/getstart.htm#996824>

[42] 
[CITE[Chapter 2 -- Your First Script]], [TIME[2004-10-01T16:08:42.000Z]], [TIME[2024-08-16T09:35:26.349Z]] <http://speed.eik.bme.hu/help/html/Teach_Yourself_Javascript_1.1_in_a_week/ch2.htm>

[44] 
[CITE[Welcome to Netscape Navigator 3.0]], [TIME[2024-08-16T11:53:26.000Z]], [TIME[2002-06-30T20:16:54.879Z]] <https://web.archive.org/web/20020630200918/http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.0.html#JavaScript>


[FIG(data)[ [111] [[HTML要素概説]]

:[F[要素名]]:[CODE[noscript]]

:日付:[TIME[1996]]
:説明:
[TIME[1996]]頃の
[[Netscape Navigator 3.0]] 
は、
[CODE[noscript]]
を実装した。
:出典:
[REFS[

-
[DFN[JSGUIDE]]:
[CITE@en[JavaScript Guide]], 
[DATA(.author)[[[Netscape Communications Corporation]]]],
[TIME(.published)[1996]],
[TIME[2024-08-16T09:39:22.000Z]], [TIME[2001-02-08T10:43:18.327Z]] <https://web.archive.org/web/20010208103254/http://home.netscape.com/eng/mozilla/3.0/handbook/javascript/getstart.htm#996824>

]REFS]
:参照:[CODE[script]]
:参照:[CODE[noembed]]
:参照:[CODE[noframes]]

]FIG]

** XHTML2

[28] [[XHTML2]] にもはじめは含まれていましたが、第6次案で削除されました。

;; [CITE@en[XHTML 2.0]] ([TIME[2004-07-22 15:25:35 +09:00]] 版) <http://www.w3.org/TR/2004/WD-xhtml2-20040722/>

* 不思議解釈

[13] '''検索円陣 spam''': [CODE(HTMLe)@en[noscript]]
は近代[[視覚ブラウザ]]の初期設定では[[レンダリング]]されないことから、
[[検索円陣spam]] のためにこの[[要素]]が悪用されることがあります。

[[#comment]]


** 例

[11] 代替内容としてデータへのリンクを提供する例 [SRC[HTML 4 18.3.1]]
[PRE(HTML)[
<SCRIPT type="text/tcl">
 [VAR[...some Tcl script to insert data...]]
</SCRIPT>
<NOSCRIPT>
 <P>Access the <A href="http://someplace.com/data">data.</A>
</NOSCRIPT>
]PRE]

[[#comment]]


** メモ

[2] >>1 文書構造的にはなんなんだ? って気はする。
[[XHTML 2]] で整理を希望。

[3] こういうのを [[JavaScript]] のみ対応の [[UA]]
に与えたら、あんまり嬉しい結果にならないような。

[PRE[
 <script type="text/vbscript" language="vbscript">
   msgbox "Hello VB!"
 </script>
 <noscript>
   <p>Your User Agent does not support VBScript.</p>
 </noscript>
]PRE]

[4] >>3 XHTML 2 WD にはこうある。古い HTML でも同じだと思われ。
だから、希望通りになる''はず''だ。
- The user agent is configured not to evaluate scripts.
- The user agent doesn't support a scripting language invoked by a script element earlier in the document.
- The user agent can't access an external script.

ただ、「早い部分」なんていい加減な条件だしなー。
何とかした方がいいと思う。 (というか埋め込み script
はやめた方がいい。外部にしる!)

[5] ''4'': なんで XHTML2 WD から引用するのかって? そりゃあたまたま見てたからっすよ。

[6] [[HTML 4]] でも >>4 と同じ。で、「早い部分」だと

[PRE[
 <script type="text/javascript" />
 <noscriot id="js" />
 <script type="text/vbscript" />
 <noscript id="vb" />
]PRE]

[[VBScript]] のみ非対応の場合に、 
[CODE[#vb]] はレンダリングするとして、 
[CODE[#js]]
をレンダリングしてよいのか不明だ、 [CODE[#vb]] 
だけするように明確化汁!
って [[www-html]] に書いた人がいたんだけど、違う script
言語まぜて何か良いことあるの? って言われてますな。
(2003-02-01)

[7] <http://pc.2ch.net/hp/kako/1008/10083/1008380243.html>: HTML 4 の [CODE(HTML)[noscript]] 要素の親・子の[[内容模型]]について。

[14]
''Bug 127137 - noscript not used for non-javascript types'' <https://bugzilla.mozilla.org/show_bug.cgi?id=127137>
([[名無しさん]])

[15]
[[Netscape Navigator 3]]で導入されました。

;; [CITE[Welcome to Netscape Navigator 3.03]] <http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.03.html#JavaScript>

([[名無しさん]] [sage])

[16]
[CITE[<noscript> per HTML 4.01 - Anne’s Weblog about Markup & Style]] <http://annevankesteren.nl/2006/01/noscript>
([[名無しさん]] [WEAK[2006-01-31 02:02:52 +00:00]])

[17]
[CITE[www-html@w3.org from July 2006: by thread]] <http://lists.w3.org/Archives/Public/www-html/2006Jul/thread.html#msg37>

[CODE(HTMLe)@en[[[noscript]]]] は [CODE(JS)@en[[[document]].[[write]]]]
の代わりだから、それが動かない [[XHTML]]
では不要だと [[Steven Pemberton]] は言っています。

([[名無しさん]] [WEAK[2006-08-05 05:54:30 +00:00]])

[18]
[CITE@en[HP.com no clue NOSCRIPT - miscoded - by Hallvord R. M. Steen]] ([CODE[2007-03-25 15:23:28 +09:00]] 版) <http://my.opera.com/hallvors/blog/2007/03/23/hp-com-no-clue-noscript>
([[名無しさん]] [WEAK[2007-03-25 06:26:48 +00:00]])

[23]
[CITE[Bug 815 &#8211; We shouldn't process content inside <NOSCRIPT> tags]] ([CODE[2007-04-21 19:19:34 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=815>
([[名無しさん]])

[24]
[CITE[<noscript> should be allowed in <head>]] ([[David Hyatt <hyatt@...>]] 著, [CODE[2007-05-29 22:11:22 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/10851>
([[名無しさん]] [WEAK[2007-06-04 11:56:13 +00:00]])

[26]
[CITE@en[Re: XHTML handler module - no equivalent to NOSCRIPT? (PR#8018)]] ([[Steven Pemberton]] 著, [CODE[2007-08-21 00:15:02 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-xhtml2/2007Aug/0018.html>

** HTML5


- [45] 
[CITE@en[xref scripting is enabled / scripting is disabled; define 'text node'…]], [[Hixie]], [TIME[2006-11-26 14:51:15 +09:00]], [TIME[2024-09-01T12:21:42.000Z]] <https://github.com/whatwg/html/commit/afc04cb92c239fdf03db01751379817cdc7ae725#diff-41cf6794ba4200b839c53531555f0f3998df4cbb01a4d5cb0b94e3ca5e23947d>
- [46] [CITE@en[noscript isn't TBW anymore! wee]], [[Hixie]], [TIME[2006-11-26 15:20:06 +09:00]], [TIME[2024-09-01T12:22:57.000Z]] <https://github.com/whatwg/html/commit/54295ab149a2e10b0640e49b0a38aba17bbe636f>



[FIG(data)[ [48] [[HTML要素概説]]

:[F[要素名]]:[CODE[noscript]]
:日付:[TIME[2006-11-26]]
:説明:
[TIME[2006-11-26]]、
[CITE[HTML5]]
は
[CODE[noscript]]
を定義した。
現行仕様である。
:出典:
[REFS[

- [CITE[HTML5 r361]],
[DATA(.author)[[[Hixie]]]], 
[TIME(.published)[2006-11-26 14:51:15 +09:00]], [TIME[2024-09-01T12:21:42.000Z]] <https://github.com/whatwg/html/commit/afc04cb92c239fdf03db01751379817cdc7ae725>


]REFS]

]FIG]



[27]
[CITE[Re: several messages about <noscript>]] ([[Ian Hickson <ian@...>]] 著, [CODE[2008-04-12 07:25:48 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/13686>


[29] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-12-15 08:02:36 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4441&to=4442>

[30] [CITE[IRC logs: freenode / #whatwg / 20110405]]
( ([TIME[2011-04-12 08:49:42 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110405>

[31] [CITE@en[Allow <noscript> in <head>?]]
( ([[Raphaël Quinet]] 著, [TIME[2003-03-04 00:55:22 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-html-editor/2003JanMar/0082.html>

[32] [CITE@en[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.]]
( ([TIME[2008-12-12 17:46:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=2528&to=2529>

[33] [CITE[Welcome to Netscape Navigator 3.04]]
( ([TIME[2014-04-07 08:44:57 +09:00]] 版))
<http://web.archive.org/web/20030208045953/http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.04.html#Features>

[34] [CITE@en[Web Applications 1.0 r8603 Make this <noscript> content model algorithm mildly simpler]]
( ([TIME[2014-05-06 06:26:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8602&to=8603>

[35] [CITE@en[Web Applications 1.0 r8733 Make noscript work in ATs when scripting is disabled]]
( ([TIME[2014-08-30 04:26:00 +09:00]] 版))
<http://html5.org/r/8733>

[19] [CITE@en[Define <noscript>'s rendering in terms of the `scripting` CSS media f… · whatwg/html@0a8ae31]]
([TIME[2015-08-29 15:58:21 +09:00]] 版)
<https://github.com/whatwg/html/commit/0a8ae31e9b117725634affa6b9dd8868274aa9cf>

[20] [CITE@en[Simplify last commit per suggestion from @tabatkins · whatwg/html@a59f63d]]
([TIME[2015-08-29 15:58:36 +09:00]] 版)
<https://github.com/whatwg/html/commit/a59f63d7ae5cf44851d2cf87dde506a0e998c090>

[FIG(quote)[
[FIGCAPTION[
[21] [CITE@ja[女子高生が鉄道模型を作った 繊細な表現、国際大会でV:朝日新聞デジタル]]
([TIME[2015-12-31 14:16:21 +09:00]] 版)
<http://www.asahi.com/articles/ASHDS40XQHDSUTIL015.html>
]FIGCAPTION]

> 
> <noscript><p>お使いのブラウザはJavaScriptに対応していないか、または無効になっています。詳しくは<a href="http://www.asahi.com/policy/index.html">サイトポリシーのページ</a>をご覧ください。</p></noscript>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[22] [CITE@ja[年賀状のサルを12年前と比べてみたら...デザイナーは同じ人、ヒツジでも話題に]]
([TIME[2015-12-31 14:21:07 +09:00]] 版)
<http://www.huffingtonpost.jp/2015/12/30/new-years-card-monkey-2004-and-2016_n_8893298.html>
]FIGCAPTION]

> 
> <noscript>
>     <img src="http://b.scorecardresearch.com/p?c1=2&c2=6723616&c3=&c4=&c5=japan&c6=&c15=&cj=1" width="1" height="1" alt="" />
> </noscript>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[25] [CITE[【ライブレポート】Kalafina、もっと先へ | Kalafina | BARKS音楽ニュース]]
([[ジャパンミュージックネットワーク株式会社]] 著, [TIME[2015-12-31 14:55:20 +09:00]] 版)
<http://www.barks.jp/news/?id=1000122862>
]FIGCAPTION]

> 
> <li>西野カナ</li>
> <noscript>
> <li class="noscript">JavaScriptを使用しています。</li>
> </noscript>
> </ul>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[36] [CITE@ja[二次創作について - カクヨムヘルプセンター]]
([TIME[2016-01-01 15:15:03 +09:00]] 版)
<https://kakuyomu.jp/help/entry/fan_fiction_sources>
]FIGCAPTION]

> 
> <noscript>
>   <iframe src="//b.yjtag.jp/iframe?c=nrWs82K" width="1" height="1" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe>
> </noscript>

]FIG]


[37] [CITE@en[Refactor child Text nodes to a new concept · whatwg/html@0dd609f]]
([TIME[2016-03-10 21:37:51 +09:00]] 版)
<https://github.com/whatwg/html/commit/0dd609fddc08dab337d24da874c787e51e851efc>

[FIG(quote)[
[FIGCAPTION[
[38] ([TIME[2016-03-19 17:04:46 +09:00]] 版)
<https://sourceforge.net/projects/sparkylinux/?source=frontpage&position=1>
]FIGCAPTION]

> 
>         </script>
>         <noscript><p><img src="//analytics.slashdotmedia.com/piwik.php?idsite=39" style="border:0;" alt="" /></p></noscript>
>         <!-- End Piwik Code -->
>     </head>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[39] ([TIME[2018-04-25 02:14:01 +09:00]])
<https://hojin-info.go.jp/hojin/TopPage>
]FIGCAPTION]

> <noscript>
> 			<div class="alert alert-danger cp-alert-danger clearfix" id="err01">
> 				<span class="glyphicon cp-glyphicon-danger" aria-hidden="true"></span>
> 				<div class="cp-alert-inner">当ホームページではJavaScriptを使用しています。お手数ですがJavaScriptの使用を有効にしてください。</div>
> 			</div>
> </noscript>
> 

]FIG]


[40] [CITE@en-US[Mutation XSS in Google Search | Acunetix]], [TIME[2023-06-15T06:14:11.000Z]] <https://www.acunetix.com/blog/web-security-zone/mutation-xss-in-google-search/>