2012-05-08 4 views
0

IEに表示できなかったオブジェクトにhtmlを埋め込もうとしています。ここでJSコードIE上のオブジェクトにリモートHTMLを表示する方法は?

document.getElementById('one').innerHTML = '<'+'object id="foo" name="foo" type="text/html" data="'+which.href+'"><\/object>'; 

、ここでは、HTML

<div id="one"><object id="foo" name="foo" type="text/html" data="$jsurl/animate/right/ap2.html"></object></div> 

コードが他のブラウザで正しく表示さではなく、IE、と私はそれが透明である必要が原因IFRAMEは、オプションではありませんですdivの上にオーバーレイする

IEや他のオプションで表示する方法を知る必要がありますか?

答えて

0

XmlHttpRequestオブジェクトを使用してリモートHTMLファイルの内容を取得し、divのinnerHTMLとしてHTMLコードを挿入できます。

コードは次のように次のようになります。これがどのように動作するかを

var request = null; 

if (window.XMLHttpRequest) { 
    // If IE7, Mozilla, Safari, and so on: Use native object. 
     request = new XMLHttpRequest(); 
} 
else if (window.ActiveXObject) { 
    // ...otherwise, use the ActiveX control for IE5.x and IE6. 
    request = new ActiveXObject('MSXML2.XMLHTTP.3.0'); 
} 

request.open('GET', '$jsurl/animate/right/ap2.html', false); 
request.send(); 

if (request.status == 200) { 
    document.getElementById('one').innerHTML = request.responseText; 
} 
+0

かなりわかりません。私はあなたのコードをの間に置き、

を体内に置きました。 URLはrequest.openに対して正しく表示されましたが、divに何も表示されませんでした。何か私が逃した? –

+0

HTMLファイル($ jsurl/animate/right/ap2.html)のURLはかなり変わっているようですが、http:// /animate/right/ap2.htmlやjust/animate/rightのようにすべきです/ap2.html ...その$ jsurlリテラルはどうですか?それはJavaScriptの変数なのでしょうか? –

+0

$ jsurlはphp変数です。ページソースを確認したときにhttp:// localhost/animate/right/ap2.html(私のローカルマシンでテストしています)として正しく表示されます。 Btw、URLをhttp:// www.google.comに変更しました。それはどちらもロードされません。 –

関連する問題