Jintrick.netagenda2001年08月アーカイブ → 2001年08月14日

object要素を用いた文書再利用方法についてのメモ

  1. a要素にクラスをつけ、クラスで判別して、object要素で埋め込むか通常のリンクにするかを選択させる要素を追加する。insertBeforeメソッド。
  2. URI末尾の#や?以下で引数を渡す。
  3. 2で判別して、該当セクションのみを表示させる。
  4. 2で判別して、addRuleメソッドでスタイルシートを直接弄り、body{ font-size:80% }に変更。その他コンパクトに収まるようなスタイル指定に変更。スタイル属性を変更するのとどちらが効率的か。
  5. object要素自身を非表示にするためのトリガーは、恐らく主文書側に設けなければならない点に注意。insertBeforeメソッド。

2が駄目だ。data属性から渡されたURIは、#以下が切り捨てられてた(IE)。?なら大丈夫だが、埋め込んだHTMLファイルの外部JavaScriptがlocation.searchを認識してくれない。

document.URLから抜き出す方法で代用できた。Document Object Model (HTML) Level 1 (英語)に挙げられているプロパティを使ったほうが気分がいいので、逆に良かった(面倒くさかったけど)。

十分に注意すべきこと

object要素で自分自身を外部ファイルとして埋め込むと、恐ろしいことになる。そういう訳の分からないことをした際のユーザーエージェントの挙動について、仕様書は「規定しない」といっている(うろ覚え)。そしてIEは、「散々悩んだ挙句強制終了」という挙動を選択したようだ。


webmaster@jintrick.net
公開: 2001年08月14日
カテゴリ: DOM ,Javascript