Scriptはhtmlソース内に書くべきでない
前回の、サイトの保守(?)に関する記事。
タイトルの通り、Scriptはhtmlソース内に書くべきでない。
具体的な例をあげると、
-
- bodyタグのonload
- onclick、onmouseover、onmouseoutなど
など。
なぜかというと、
修正するときに大変だから。
同じ理由で、タグにstyle属性で直書きされるcssもダメ。
なんらかのエディタにて、複数ファイルの一括置換操作が完璧にできるならいいが。
もちろんグローバルナビやサイドバーなどの共用部分は、phpのincludeでまとめておけば多少作業は緩和される。
やっぱり何にでも言えるけど、
「パーツは細切れにして色んなところで使う」べき。プログラミングの基本です。
(極端な例)
自作パソコン作るときに、
製品として最初からマザーボードにCPUがくっついてたら、組み合わせの自由が損なわれてしまう。→使い勝手が悪い
具体的にどう書くべきか
onloadの場合
window.onload = function(){ onloadしたい処理 }
これをhead内にエンベッドするもよし。
.jsファイルを作成して読み込むもよし。
onclickの場合
jQueryを読み込んだ上で…
$function() { $('onclickイベントを追加したいタグのid(class)名').click(function() { onclick時の処理 }); });
同じく、これをhead内にエンベッドするもよし。
.jsファイルを作成して読み込むもよし。
htmlのbodyタグ内は、なるべくhtmlソースのみにしましょう
ページ数が多い場合、修正が本当に面倒です。