2012-01-09 7 views
1

HTML/JS/CSSをコマンドに動的に挿入しようとしています。 (ページ読み込み速度のためにこのコードから を保持する)。<object>タグを動的に挿入すると白い点滅が発生する

function toggleObject() { 
var object = document.getElementById('myObject'); 
    if (!object) { 
    var e = document.createElement('object'); 
    e.setAttribute('data', 'testing.html'); 
    e.setAttribute('id', 'myObject'); 
    // inject data into DOM 
    document.getElementsByTagName('body')[0].appendChild(e); 
} else { 

    document.getElementsByTagName('body')[0].removeChild(object); 
}} 

これで唯一の問題は、それが挿入する時である:私はそうのように、順番にCSSやJSを参照HTML- ファイルを指しHTML5のタグを挿入し、これを行うためのきちんとした方法 を見つけました非常に魅力的ではない読み込みの前に、オブジェクトにタグを付けます(CSSで定義された高さ、幅、位置)。

醜い白いフラッシュの救済はありますか?

注!私は、オブジェクトの可視性のプロパティを切り替えて、ローダーdivを起動して実験しましたが、オブジェクトがDOMに完全に注入されたときに、どのイベントがローダーから呼び出され、可視性を取り戻すことができないか把握できません。最後に、私は...最適未満感じ1秒のちょうどタイムアウトのために定住

+0

お試しください:http://code.google.com/p/swfobject/ –

+0

本当ですか? Flash Playerの埋め込みプラグインですか?私はそれがどのように役立つかはよく分かりません。そして、私はむしろプラグインを使用したくないと思っています。 – jenswirf

+0

これまでにこの問題に遭遇し、修正していくつかのコードを書いて、他の人が無料で使用できるように投稿した可能性があります。 BTW - プラグインではなく、JavaScriptライブラリです。 –

答えて

1

それは持っていたら、あなたはそれを設定OBJECTElement、その後に見えるを作成するときにを隠さ可視性を設定してみてくださいその親に追加されましたNode

+0

一度完全にロードされたら、それを表示するように設定するためのイベントや何かがありますか? – jenswirf

+1

OBJECTの 'Element'sに* load *' EventListener'を登録できます。しかし、これは信頼できないかもしれません。その 'OBJECT'(Flash Playerなど)で読み込んでいるデータソースの種類は何ですか? – FK82

+0

私はそれを与えるかもしれない。私はHTMLファイルをロードしています。 – jenswirf

関連する問題