2011-01-11 10 views
5

IEでdocumnet.writeを使用してiframeを挿入しようとしていましたが、成功しました。しかし、その後のhtmlコードは実行されません。iframeの後のHTMLコードは、document.writeを使用して実行されません。

document.write("<div>Hello</div><iframe ..../><div>Bye Bye</div>"); 

ここでは「バイバイ」の文字列は実行されません。一瞬

はあなたが試行錯誤を行った後、ブラウザのURL

javascript:document.write("<div>Hello</div><iframe ..../><div>Bye Bye</div>"); 

を入力することができます確認し、私は次のようにiframeタグを閉じた場合、それが動作することがわかりました。今

<iframe ...></iframe> instead of <iframe ... /> 

、問題は「私は<iframe .. ></iframe><iframe ../>を変更するには、任意の機会を持っていない」です。あなたの親切なアドバイスを探しています。

+0

あなたは何DOCTYPEを使用していますか? –

+0

@Pekka <!DOCTYPE html PUBLIC " - // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> – Hoque

+0

aww、これは解決できないかもしれません。あなたは文字列を変更する方法が全くありませんか?私はXHTML文書のIEで壊れている '

1

あなたは、文字列の両方を変更するには、任意の機会を持っていない場合(つまり、あなたはあらかじめそれを読むことができません)とコードの一部をdocument.writeと書いてありますが、私はあなたが少なくとも文書の中のいくつかのコードを編集/挿入する権限を持っていると思います。

そうすれば、物事が起こる前に、いくつかのコードを挿入してdocument.write()方法をテンパリングしてみてください。

document.write=function(str){ 
    str=str.replace(/<iframe([^>]*?)\/>/ig,'<iframe$1></iframe>'); 
    return document.writeln(str); 
} 
関連する問題