先日 Firebug Lite ブックマークレットを公開しましたが、動的生成した IFRAME に HTML を流し込むとブラウザが読み込み状態のままになってしまう(ロード中アニメーションなどが再生されっぱなしになる)という問題がありました。 IFRAME の動的生成はいろいろと応用範囲が広いので、なんとかこの問題は解決しておきたいところです。そこでいろいろと試行錯誤して、なんとか回避方法を見つけることができました。本日はそれをご紹介しようと思います。 さっそく種明かししてしまいましょう。実は答えはいとも簡単でした。 document.write で HTML を流し込む前後で document.open と document.close をきちんと呼ぶ必要があるようです。こんな感じですね。 var iframe = document.createElement('IFRAME'); do
<script type="text/javascript"> // ********************************************************* // 関数 // ********************************************************* function doAction( strValue ) { var base; var obj; base = document.getElementById(strValue); base.innerHTML = ""; // IFRAME 作成 obj = document.createElement("iframe"); // IFRAME の見栄え属性をセット obj.setAttribute("frameBorder", "1"); obj.setAttribu
いろいろハマリがちなJavaScriptでインラインフレームを扱う場合のメモ。 特に断らない限りブラウザのバージョンは以下が前提。 iframeのwindow,documentの取得方法はIEとMozilla系(NN,FireFox)で異なる。 IEはframes配列のwindow,documentプロパティから取得できる。Mozilla系はiframeエレメントのcontentWindow,contentDocumentプロパティから取得できる。 IEでもMozilla系と同じくiframeエレメントのプロパティから取得することもできるが、contentDocumentについてはIEには存在しないので、documentはcontentWindow.documentとしてcontentWindow経由で取得しなければならない。 (1) frames配列から取得する場合 frames['xx
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く