徒然なるままに

個人の備忘録を中心としたブログです

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
JavaScriptをHTML/XHTMLに埋め込む際の方法について、今更ですが曖昧だったので記録しておきます。

コメントの方法について、言っておくと
HTML/XHTMLでは、コメントは<!-- -->の中に記述します。
二重スラッシュ(//)はJavaScriptの処理系に対するコメントです。

・従来のHTML
script要素は適切なブラウザであれば、ページ上には表示されないはずですが、scriptに対応していない古いブラウザではページ上に表示されてしまうことがあります。それを避けるために以下のようにコメントアウトします。
<script><!--
(ここにJavaScriptのコードを記述する)
--></script>

ここでscript要素の型はCDATA,つまりただの文字として認識し、中に'<'や'&'などが含まれていてもそのままコメントアウトされます。

・XHTML
script要素の型がCDATAから#PCDATAになっています。
#PCDATAは「構文解析対象文字データ」です。つまりXMLパーサにかけられてタグや実態参照として構文解析が行われます。従来のHTMLのコメントアウト方法だと中の'<'はタグの開始として扱われ、'&'は実態参照の開始として扱われてしまいます。
それだけでなく#PCDATAで解析した結果、<!-- -->はコメントなので完全に無視されるという可能性すらでてきます。むしろ、こちらが正しい動作と言えるでしょう(現段階では互換性の問題もあり、完全に無視されるということはほとんどないようですが)。

そこでscript要素をCDATAセクションにする方法を使います。
CDATAセクションでは'<'や'&'などをそのまま記述することが出来ます。
<script>
//<![PCDATA[
(ここにJavaScriptのコードを記述する)
//]]>
</script>

ここで二重スラッシュ(//)が使われているのはscript要素をJavaScript側の構文解析で'[',']'は特別な文字だからです。

とはいったものの、これらの実際の動作はブラウザの実装によって違ってきます。
今のところ主要なブラウザではこの二つの方法を取っていれば、まあ問題はないみたいですが
確実な方法として、挙げられるのは外部ファイルをsrcとして読み込むことです。

<script src="hoge.js"></script>

なおそのまま<!-- -->などをAptanaなどに記述するとエラーが出ることがあります。
これはJavaScriptとしてコードチェックが行われている上の問題なので、
実際に表示してみると正常に動いたりしますが、目に悪い場合はこちらも適宜二重スラッシュ(//)で
コメントアウトしましょう。
スポンサーサイト
流行りのAjaxなど、Webアプリケーションの開発ではJavaScript,XML,(X)HTMLなど異なったフォーマットのデータを
相互に連携させなければいけない。いちいちemacsで一つ一つ書いていてはファイルの管理が大変だし、
デバッグ作業はいちいちブラウザで開かないといけないのでは非常に作業効率が悪い。

そんななかJavaScriptやXML,HTMLだけでなくRuby/Rails/PHPなどのプロジェクトも管理できる
非常に便利な統合開発環境、それが「Aptana」だ。

eclipseがインストールされていなくても、Aptanaのバイナリ版があるのでそちらをインストールすることもできますが
Javaプログラムだったりandroidアプリだったり、eclipse使う用途は腐るほどあると思うので
eclipseをインストールして、eclipse上のpluginとして使うほうが便利だと思います。

インストール方法はこちらのサイトを参考にしました。
http://www.system-act.com/eclipse/aptana.html

kamiyasu

Author:kamiyasu

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。