Harukiya Archives

2006/06/28

category / javascript

無関係なものはHTML内に置けないと書いたが”<title>要素重視”/”軽さ重視”指向ならばの話で、洒落たブログパーツをつけたり幅広く読者に見せたいヘッダ画像(<img>)でセンスをアピールという方向性だって全然OK。WEBページは自己表現なのだ。うちの場合、その針が仕掛け方面に振れていると分析している^^。というわけで、WEB標準なjavascriptについてなど。

スタンダードなスクリプトを組む場合は、DOM(文章オブジェクトモデル)を利用します。DOMの最大の利点はオブジェクト検出にある(と考える、自分的には)。

  1. /* documentにgetElementByIdオブジェクトがあるなら関数を実行 */
  2. if ( document.getElementById ) {
  3.  hoge();
  4. }

対象のブラウザやUA、そのバージョンをいちいち調べなくとも、サポートしているソフトウェアなら動くし、そうでないなら何もしないで処理を抜ける。時々いきなり要素にアクセスするコード

  1. function foo(){
  2. var hoge=document.getElementById("page");
  3. hoge.style.display="none";
  4. }

を見かけるが、これはgetElementByIdオブジェクトがないソフトウェア(IE4やNN4など)では、100%エラーになるので気をつけましょう。そもそも、メジャーな視覚系ブラウザすべてでテストしてみる、なんてことは個人(の道楽や現実逃避でやってるワシの力)では到底ムリです。PSPやドリキャス、ケーブルTV用のブラウザがどんなんなっているか知らないし、近頃じゃ電子レンジだってブラウジングできるらしい。今後、この手のWEBページにアクセスしてくる対象は多様化するだろう。エラーがどう影響するのかも、それぞれ違うかもしれない。

DOMをサポートしていないソフトウエアに対しては何もしないスクリプト、というのは消極的な対応のように思えるかもしれない。だが、HTMLに必要なことがすべて書かれてあるならスクリプトは実行されなくても無問題だ(おまけに<noscript>要素もいらなくなる)。前回、HTML文章に余計なことは記述しないと書いたが、逆に考えれば必要なことはすべてHTMLで書くということになる。これがWEB標準の基本だと思う。

参考リンク


writeback

  1. - : このコメントは管理人のみ閲覧できます-29日22時
  2. マス : またまた記述ミスでした。報告ありがとうございます。
    <title>はそのHTML文章の名前で、特に重要な要素なのです。RSSやブックマークの文字列に使われますし、FC2にもそれ専用のTipsもあります。そのページの内容を如実に表している文字列(と読者に期待されるもの)です。
    今回のリニュでグローバルナビをはずしたのは、個別ページの<title>とはほとんど関係ない部位・要素と考えたからです。最低限、トップへのリンクは必要でしょうけど。
    これを、不便と感じるかシンプルなインターフェイスと感じるかは微妙なところで、まあ、色々模索中ということです。-30日19時
  3.  


< ADVERTISING BLOG | 研究者と助手 > | 表紙へ戻る | 探す | 案内


ホームページ アフィリエイト レンタルサーバー FC2ブログ キャッシング