Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
Javascript関連情報
更新日:2003年11月06日
Microsoft社(MS)が、Eolas社の特許を侵害したとして提訴された訴訟の影響で行われるIEの仕様変更に対応するスクリプト。
サンプル document.write()メソッド「これは<b>HTML</b>なんですわ」というHTMLが書き出される、という仕組みになっています。 ただ、このまま同一ページ内にFlashなどのタグを書き出すdocument.write()を書いても この特許にひっかかるので、この連載のテーマである.js外部ファイルの出番となるのです。
test1.htm test1.htm<script language='JavaScript'> document.write("これは<b>HTML</b>なんですわ"); </script>
サンプル test1.htmを.js外部ファイルで書き直すtest2.htmの中のscriptタグのsrcでtest2.jsを読み込んでいます。動作はtest1.htmと同じです。 これでHTMLとスクリプトが分離されました。
test2.htm test2.htm<script language='JavaScript' src='./test2.js'></script>test2.js←.js外部ファイル
document.write("これは<b>HTML</b>なんですわ");
サンプル Flashobjectタグとemmbedタグを2重に使ったいわゆるIE/NN共用型のコードです。赤文字の部分がFlashファイル名になっています。 では、これをdocumentt.write()で書いて.js外部ファイルにしてみましょう。
flash1.htm flash1.htm<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab' width=96 height=96> <param name=movie value='./aro.swf'>
<param name=quality value=high>
<embed src='./aro.swf' quality=high
width=96 height=96
type='application/x-shockwave-flash'
pluginspage='http://www.macromedia.com/go/getflashplayer'>
</embed>
</object>
サンプル flash1.htmを.js外部ファイルで書き直すこんな感じです。でも、このままではどうにも読みにくいので少しだけ整形してみましょう。
flash2.htm flash2.htm<script language='JavaScript' src='./flash2.js'></script>flash2.js←.js外部ファイル
document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'") document.write(" codebase='http://download.macromedia.com/pub/shockwave/cabs/") document.write("flash/swflash.cab'") document.write(" width=96 height=96>") document.write("<param name=movie value='./aro.swf'>")
document.write("<param name=quality value=high>")
document.write("<embed src='./aro.swf' quality=high ")
document.write(" width=96 height=96")
document.write(" type='application/x-shockwave-flash' ")
document.write("pluginspage='http://www.macromedia.com/go/getflashplayer'>")
document.write("</embed>")
document.write("</object>")
サンプル flash2.htmの.js外部ファイルを書き直すこれでwidthやheightなどのパラメーターもいじりやすくなりましたね。 document.write()も13回も実行していたのが1回になりましたからほんのわずかですが 負荷も減っているはずです(ってほどのことでもないですね^^;)。
flash3.htm flash2.htm<script language='JavaScript' src='./flash3.js'></script>flash2.js←.js外部ファイル
htm = "" htm+="<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'" htm+=" codebase='http://download.macromedia.com/pub/shockwave/" htm+="cabs/flash/swflash.cab'" htm+=" width = 96 " htm+=" height = 96 >" htm+="<param name = movie value='./aro.swf'>"
htm+="<param name = quality value=high>"
htm+="<embed src = './aro.swf' "
htm+=" quality = high "
htm+=" width = 96"
htm+=" height = 96"
htm+=" type = 'application/x-shockwave-flash' "
htm+=" pluginspage='http://www.macromedia.com/go/getflashplayer'>"
htm+="</embed>"
htm+="</object>"
document.write(htm)
人気Javascriptランキング
Powered by 価格.com