script è¦ç´ 

since: 31st/Aug./2001; last modified: 28th/Sep./2001

script è¦ç´ ã‚¿ã‚¤ãƒ—ã¯ã‚¹ã‚¯ãƒªãƒ—ティングモジュールã«å«ã¾ã‚Œã‚‹è¦ç´ ã§ã€ head è¦ç´ ã®å­è¦ç´ ã¨ body è¦ç´ ã®å­å­«è¦ç´ ã—ã¦å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚

script è¦ç´ ã‚¿ã‚¤ãƒ—ã®å½¹å‰²ã¯ã€ã‚¹ã‚¯ãƒªãƒ—ト情報を記述ã™ã‚‹ã“ã¨ã§ã™ã€‚ユーザエージェントã¯ã€ã‚¹ã‚¯ãƒªãƒ—トã®ç¨®é¡žã«å¿œã˜ã¦ã‚¹ã‚¯ãƒªãƒ—トエンジンã«å—ã‘渡ã—ã€è¿”ã£ã¦ããŸçµæžœã‚’出力ã—ã¾ã™ã€‚

スクリプティング・モジュール [ç§è¨³]
noscript, script
è¦ç´  属性 最å°å†…容モデル
noscript Common (Heading | List | Block)+
script charset (Charset), defer ("defer"), src (URI), type* (ContentType), xml:space="preserve" PCDATA

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒä½¿ã‚れるã¨ãã¯ã€ãƒ†ã‚­ã‚¹ãƒˆãƒ»ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®å†…容セット Block 㨠Inline ã«ã€ script è¦ç´ ã¨ noscript è¦ç´ ãŒè¿½åŠ ã•ã‚Œã‚‹ã€‚ 加ãˆã¦ã€æ§‹é€ ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§å®šç¾©ã•ã‚Œã‚‹ head è¦ç´ ã®å†…容モデル㫠script è¦ç´ ãŒè¿½åŠ ã•ã‚Œã‚‹ã€‚

実装: DTD

内容モデル

script è¦ç´ ã®å†…容ã¯ã€è§£æžå¯¾è±¡ã¨ãªã‚‹æ–‡å­—データ (Processed Character DATA) ã§ã™ã€‚å˜ãªã‚‹æ–‡å­—データ (CDATA) ã§ã¯ãªã„ã®ã§ã€ãƒžãƒ¼ã‚¯ã‚¢ãƒƒãƒ—区切り文字ã¯æ„味をæŒã¡ã€æ–‡å­—実体å‚ç…§ãªã©ã¯å±•é–‹ã•ã‚Œã¾ã™ï¼š

<script type="text/javascript">
document.write('Hello, World!');
</srcipt>

CDATA セクション

CDATA ã«ã™ã‚‹ç‚ºã«ã¯ CDATA セクションを利用ã™ã‚‹ã¹ãã§ã™ï¼š

<script type="text/javascript">
//<![CDATA[
document.write('<img src="../../nextindexb.jpg" alt="NEXTindexãƒãƒŠï¼" />');
//]]>
</script>

コメント

HTML 4 ã§ã¯ã€ã‚¹ã‚¯ãƒªãƒ—トをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ブラウザã§ã€ã‚¹ã‚¯ãƒªãƒ—トãŒãƒ†ã‚­ã‚¹ãƒˆã®ã¾ã¾è¡¨ç¤ºã•ã‚Œã¦ã—ã¾ã†ã®ã‚’é¿ã‘ã‚‹ãŸã‚ã«ã€ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã™ã‚‹ã‚ˆã†ã«æŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã—ãŸï¼š

<script type="text/javascript">
<!--
document.write('<img src="../../nextindexb.jpg" alt="NEXTindexãƒãƒŠï¼" />');
//-->
</script>

HTML 4 ã§ã¯ script è¦ç´ ã®å†…容㌠CDATA ã ã£ãŸã®ã§ã€ "<!--" ã¯è§£æžã•ã‚Œãšã€ã‚³ãƒ¡ãƒ³ãƒˆåŒºåˆ‡ã‚Šã¨ã—ã¦ã®æ„味をæŒã¦ã¾ã›ã‚“。逆ã«ã€ style è¦ç´ ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ユーザエージェントã¯ã€å†…容を通常㮠PCDATA ã¨è§£é‡ˆã—ã¦ã—ã¾ã†ã®ã§ã€ã‚³ãƒ¡ãƒ³ãƒˆãŒæœ‰åŠ¹ã«ãªã‚Šã€å†…容ãŒç„¡è¦–ã•ã‚Œã‚‹ã®ã§ã™ã€‚

ã—ã‹ã—〠XHTML ã§ã¯ script è¦ç´ ã®å†…容も PCDATA ã«ãªã£ãŸã®ã§ã€ "<!--" ã¯ã‚³ãƒ¡ãƒ³ãƒˆé–‹å§‹ã®ãƒžãƒ¼ã‚¯ã‚¢ãƒƒãƒ—区切りã¨ã—ã¦è§£é‡ˆã•ã‚Œã¦ã—ã¾ã„ã¾ã™ã€‚ãã—ã¦ã€ XML ã§ã¯ã€ã‚³ãƒ¡ãƒ³ãƒˆå†…部ã¯å®Œå…¨ã«ç„¡è¦–ã•ã‚Œå¾—ã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€ã‚¹ã‚¿ã‚¤ãƒ«æƒ…報もæ„味を失ã„ã€åƒã‹ãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚

内容㌠PCDATA ã«å®šç¾©ã•ã‚Œã¦ã„る時点ã§ã€å¾Œæ–¹äº’æ›ã¨ã—ã¦ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã¯åˆ©ç”¨ã§ããªããªã‚Šã¾ã—ãŸã€‚å¿…è¦ãªå ´åˆã¯ã€å¤–部スクリプトを使ã„ã¾ã—ょã†ã€‚

「CDATA 㨠PCDATAã€ã¨ã€Œã‚³ãƒ¡ãƒ³ãƒˆã€ã«é–¢ã—ã¦ã¯ã€æœ¬ç¨¿ä»˜éŒ²ã€Œã‚³ãƒ¡ãƒ³ãƒˆã¨ CDATA セクションã€ã‚’å‚ç…§ãã ã•ã„。

属性

charset
type = ContentType
src = URI
defer = "defer"
xml:space = preserve

サンプル

<script type="text/javascript">
//<![CDATA[
var today = new Date();
var hour = today.getHours();
document.write("今ã¯");
if (hour < 12) {
	document.write("åˆå‰ä¸­");
} else {
	document.write("åˆå¾Œ");
}
document.write("ã§ã™");
//]]>
</script>

noscript è¦ç´ ã¨ã®ä½µç”¨

当該スクリプトをユーザエージェント(ãŒæ¸¡ã™ã‚¹ã‚¯ãƒªãƒ—トエンジン)ãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚Œã°å•é¡Œã‚ã‚Šã¾ã›ã‚“ãŒã€ãã†ã§ãªã„å ´åˆã¯å¯èª­æ€§ã‚’æãªã†æã‚ŒãŒã‚ã‚Šã¾ã™ã€‚ã“ã®ã‚ˆã†ãªå ´åˆã«å‚™ãˆã¦ã€ã‚¹ã‚¯ãƒªãƒ—トã¯å¤–部スクリプトファイルã§æä¾›ã—〠noscript è¦ç´ ã‚’利用ã™ã‚‹ã‚ˆã†ã«æŽ¨å¥¨ã—ã¾ã™ã€‚

外部スクリプトファイルã®åˆ©ç”¨

<script type="text/javascript"
        src="scriptsample.js"
        charset="UTF-8"></script>

[scriptsample.js]

ã“ã‚Œã§ã€å½“該スクリプトをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ユーザエージェントã‹ã‚‰ã¯ã€ã‚¹ã‚¯ãƒªãƒ—トソースãŒå®Œå…¨ã«éš ã‚Œã¾ã—ãŸã€‚スクリプトソースãŒéœ²å‡ºã™ã‚‹ã“ã¨ã¯ã‚ã‚Šãˆã¾ã›ã‚“。

charset 属性ã¯ç›®æ¨™å¤–部スクリプトファイルã®æ–‡å­—符å·åŒ–法を指定ã—ã¾ã™ã€‚ MS I.E. ã§ã¯å½“該文書ã®æ–‡å­—コードã«è‡ªå‹•çš„ã«å¤‰æ›ã•ã‚Œã¦å‡ºåŠ›ã•ã‚Œã¾ã™ãŒã€ Netscape 6.1 ã§ã¯ãã®ã‚ˆã†ãªä»•çµ„ã¿ã¯ãªãã€èª­ã¿è¾¼ã¿ã¤ã¥ã‘ãŸã¾ã¾ã«ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚外部スクリプトファイルã¨å‚照もã¨ã®æ–‡æ›¸ã®æ–‡å­—符å·åŒ–法ã¯ä¸€è‡´ã•ã›ã¦ãŠãæ–¹ãŒç„¡é›£ã§ã™ã€‚

noscript è¦ç´ ã®åˆ©ç”¨

スクリプトãŒå®Ÿè¡Œã•ã‚Œãªã„ã¨ã€ãƒŠãƒ“ゲーション出æ¥ãªã„å ´åˆã«ã ã‘出力ã™ã‚‹å†…容を〠noscript è¦ç´ ã§æä¾›ã—ã¾ã™ã€‚

<body>
<script type="text/tcl">
  ..."data.dat" ã®å†…容ã¸ã®ãƒŠãƒ“ゲーションãŒ
  å«ã¾ã‚Œã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚...
</script>
<noscript>
<p><a href="./data.dat">DATA</a>ã‚’å‚ç…§ãã ã•ã„。</p>
</noscript>
</body>

noscript è¦ç´ ã®å†…容ã¯ãƒ–ロックレベルã®è¦ç´ ã§ã™ã€‚è¦ç´ ã®éšŽå±¤é–¢ä¿‚ã«æ³¨æ„ã—ã¦ã€ãƒ–ロックレベルã¨ãƒ†ã‚­ã‚¹ãƒˆãƒ¬ãƒ™ãƒ«ãŒé€†è»¢ã—ãªã„よã†ã«æ³¨æ„ã—ã¦ãã ã•ã„。

noscript è¦ç´ ã®å†…容ã¯ã€ç›´å‰ã® script è¦ç´ ãŒå®Ÿè¡Œã§ããªã„å ´åˆã«é™ã‚Šã€è§£æžãƒ»æç”»ã•ã‚Œã¾ã™ã€‚


Copyright © 2001, SUGAI, Manabu. All rights reserved. 著作権ã¯æ”¾æ£„ã—ã¦ã„ã¾ã›ã‚“。
SEO [PR] ”š‘¬!–³—¿ƒuƒƒO –³—¿ƒz[ƒ€ƒy[ƒWŠJÝ –³—¿ƒ‰ƒCƒu•ú‘—