2011-01-27 12 views
2

問題はSafariでのみ発生します。 IE、FF、Chrome、Operaはすべて問題なく動作します。でSafariのJavascriptの不具合(document.write)

document.write(MyObject)

:私は、ライトオブジェクト型を決定した後、私は経由でDOMに追加DOMので(YouTubeはActiveXまたはNPAPIに応じて、それをしないまったく同じ方法)にオブジェクトを追加してい本体から呼び出されたjs関数がアクセスできるように、ページのheadセクションに追加します。それはSafari以外のすべてで動作します。 Safariを動作させる唯一の方法は、document.writeの後にアラートを追加することです。私はsetTimeoutを試してみましたが、一度だけ動作して失敗します。

+0

恐ろしい 'document.write'を使用しないでください。 – Raynos

+0

はい、素晴らしいソリューションを見つけることができました。 – Orca

答えて

1

Document.writeが本体で正しく機能せず、document.body.appendChildでオブジェクトタグを追加できません。私がしたので、何

var objectContainer = createElement("div"); 
objectContainer.innerHTML = "<object blah blah> <\/object>"; //<--notice the escaping of/
document.body.appendChild(objectContainer); 

だったそして今、それはどこでも動作します。

1

document.body.appendChild(MyObject)を使ってみましたか?

+0

すでに試しました。動作しませんが、別のエラーを返します:変数objectIDを見つけることができません – Orca

+0

'document.write(MyObject)'を本文に追加してみてください –