IIJmio(みおふぉん)

2008.02.06 改
記述方法ですが、まだステートメント(実行文)などを説明していなので、
わからない部分もあると思います。そういう部分はなんとなく読んで
理解できるレベルまで進んだら再確認でまた読んでみて下さい。

記述方法
◆javascriptコードは script タグを使って
<script> 〜 </script>の中に記述します。
<script type"text/javascript">
実行文;
</script>
ステートメント(実行文)の最後にはセミコロン( ; )をつける癖をつけて下さい。 FTP転送などで、改行がうまくいかない場合でも( ; )で区切られているときちんと動きます。 JavaScript内での改行点と思ってなるべく付けるようにしましょう。

◆このスクリプトブロックをHTMLファイルのどこに記述するか?ですが
これは、用途によって異なってくるのですが、何かしらのアクションから 処理を呼び出すような場合は一般的には<head> 〜 </head>の中に記述して bodyタグ内の表示文章より先に読み込ませておきます。
コードが読み込まれたと同時に実行する様な必要性のある物はそれが実行されるべき場所に記述します。
<html>
<head>
<script type="text/javascript">
関数(){ 実行文 }
</script>
</head>
<body>



<html>
<head>
<script type="text/javascript">
実行文;
</script>
</head>
<body>


<script type="text/javascript">
実行文;
</script>



</body>
</html>

XHTML化などを考える場合は、基本的にBODY内に書くのはあまり薦められません。 が、タイミングとしてHTMLと同時に表示させていくような使い方をした方が便利な場合もあります。 ブラウザがこういった従来の記述方法をきちんと読んでくれる間は、あまり規則や『こうあるべき』にとらわれすぎずに。

◆scriptタグのlanguage属性 と type属性
javascriptコードを記述する場合は scriptタグに language属性でjavascriptを指定します。 現在はtype属性で指定するのが基本になっています。
type属性を理解できないブラウザへの配慮はもはや不要と思いますので type属性を使いましょう。 指定しなくても実行されますが、JSscriptやVBScriptなどのスクリプトもありますので、 明確に記述をするようにして下さい。 特にだんだん、色々とルールが増えて縛りも増えてきていますので。
JScriptはIEで実装されているMicrosoftのJavaScriptです。 VBScriptはVisualBasicのWEB用のScriptEditionです。

JavaScriptには進化レベルがあります。
<script type="javascript1.2">と書くと、javascript1.2に対応した netscape4/ie4以上等のブラウザにのみ有効となります。 しかし、インラインイベントハンドラなどで呼び出される関数をここに記述すると1.2未対応ブラウザでは その関数が見えない為にエラーが起きてしまいます。 対応レベル別にしたい場合は、そのオブジェクトやメソッドが使用可能か?を調べて使える場合のみ実行させると言うのが主流です。 が、こういう記述方法は全体を把握してない人が使うのはかなり無理があるかと思います。


◆他の記述方法
javascriptにはイベントハンドラと言う物があります。
イベントハンドラの基本はタグに付け加えて直接書き込み、 その部分が『 ○○されたら・・・・javascriptを実行する』と言う物です。 この時に、実行するjavascriptステートメント(実行文)も書き込んでしまう場合があります。 これもjavascript記述の1つの方法です。
<a href="リンク先" onmouseover="window.status = '更新'; return true">
これはアンカーの上にマウスポインタが重なると、ステータスバーに『更新』と表示されます。(status表示が許可されてる場合のみ) window.status='更新';return trueが javascriptステートメントです。
この他にもjavascriptを実行する方法があります。その方法でもこれと同じように直接記述できます。 実行方法を説明した 起動 に詳しく書いておきます。

◆コメント
javascript内に 注釈やラベル(印)などのコード以外の文字を書き込む場合 javascript構文として解釈されないで無視してもらえる様にコメントアウトします。 次の2つの方法でコメント部分を作ります。
1.// これ以降この行末まではコメント扱いになります。
2./*この間の部分がコメントになります(複数行可能)*/
<script type="text/javascript">
// この行はコメント

実行文 //ここから行末までコメント

/* コメント
コメント

*/ ここから後ろはコメントにはなりません
実行文
</script>

◆未対応ブラウザへの配慮
スクリプトタグ未対応ブラウザではスクリプトタグ自体は無視されますが スクリプトエリア内に書かれたコード類は、文章として表示されてしまいます。 これを防ぐ為にスクリプトエリア内を htmlから見た場合のhtmlコメントにしておきます。 私は基本的に使っていませんが・・・(^^ゞ
<script type="text/javascript">
<!--
実行文
//-->
</script>
htmlでのコメントは <!-- コメント -- >ですが、終タグの --> が スクリプトに対応しているブラウザでは演算子として捕らえられてしまいますのでそれを javascriptコメントにする為に前に // をつけて //--> にします。 意味がわからない方は、決り事として覚えてしまって下さい。
JavaScirptオフの場合への対応として <noscript>と言う物もあります。 <noscript> 〜 </noscript>に記述する内容はJavaScriptがOFFにしてる人に対して内容を表示できます。


ソースファイル

top
もう一つの記述方法として、javascriptソースファイルとして呼び出す方法があります。 この方法を使うと、複数のページで同じようなスクリプトコードを使う場合等にソースを共有できる為 各ページに記述する事を省く事ができます。 また、コードが長くなる場合等、htmlファイルの整理にも役に立ちます。
最近の様にXHTMLも推奨されてきてる時代ではこちらの方が逆に主流かもしれません。
<script type="text/javascript src="./menu.js""></script>
menu.jsと言う別のファイルにjavascriptが記述されています。
menu.jsに記述されているjavascriptはこのページに書き込まれているのと同じように 普通のjavascriptとして動作します。
menu.jsの中身の書き方ですが、テキストファイルに普通にscriptタグの内側に書くコードだけを書いて 拡張子を『 .js 』にしてください。
サーバー側にmimetypeとしてこの拡張子が登録されていない場合は .htaccessファイル等にapplication/x-javascript として登録する必要がある場合があるようです。 サーバー設定に付いてはプロバイダー等の資料を参考にしてください。

注意:この scriptタグの srcアトリビュートは mozilla/3からのサポートで nn3、ie4以降対応になります。 また、nn3では状況によって、ソースファイル(例ではmenu.js)の中身がそのまま表示されてしまう事もあるようです。(古)

メタ(META)タグ

top
それとJavascriptの記述以外に、このHTMLで使ってるスクリプトに関して METAタグ記述しておくのも今では一応の決まっているようです。 書かなくても解釈してくれるので問題ないといえば問題ないですけど。 ブラウザに甘えるのかなるべく正しく書こうとするのか・・・の違いですね。

<meta http-equiv="Content-Script-Type" content="text/javascript">


←前 次→



専用ページから申し込むと
So-netより高い3万円CB

案ずるより産むが易し
使ってみれば疑問も解決

XREA+ (plus) 206円/月
( お試し7日間 )

CORE SERVER 428円/月
( お試し15日間 )

ロリポップ 270円/月
( お試し期間10日間 )

ヘテムル 1620円/月
( お試し期間15日間 )

さくら 129円/月
( お試し期間2週間 )

無駄な高額ドメイン管理料金払ってませんか?

バリュードメイン
ムームードメイン