これと同じことを行う必要があり、OBJECT タグに必要なすべての HTML を JavaScript の文字列に配置し、div タグの innerHTML を OBJECT HTML に置き換えるだけで、IE で問題なく動作します。
// something akin to this:
document.getElementById(myDivId).innerHTML = "<OBJECT id='foo' classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95'.....etc";
それはうまくいくはずです、それは私にとってはうまくいきます-私はそれを使ってWindows Media Playerをページに埋め込みます.
更新: ページの読み込みイベントで実行されるか、ユーザーのクリックに応答して実行されるイベント ハンドラーを介して、ページが読み込まれた後に上記のコードを実行します。必要なのは、空の DIV タグまたはその他のタイプのタグを用意することだけです。これにより、その要素のinnerHTML
プロパティを介して HTML コードを挿入できます。
更新: どうやら、私が思っていたよりも多くの助けが必要ですか? たぶんこれが役立ちます:
BODY タグを次のようにします。<body onload="loadAppropriatePlugin()">
これをロードしたいページのどこかに、id
「Foo」などの属性を持つ空のDIVタグを配置します。
セクションの<script>
タグに次のようなコードを含めます。<head>
function getIEVersion() { // or something like this
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
return ((msie > 0) ? parseInt(ua.substring(msie+5, ua.indexOf(".", msie))) : 0);
}
function loadAppropriatePlugin() {
if(getIEVersion() != 0) { // this means we are in IE
document.getElementById("Foo").innerHTML = "<OBJECT id='foo' classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95'.....etc";
} else {
// if you want to maybe do the same for FF and load that stuff...
}
}
それは役に立ちますか?