2009-03-31 1 views
0

私はプロトタイプのJavaScriptライブラリを使用して、テキスト領域の内容を読み込みました(別のHTMLページのマークアップをしばしばとします)、新しいウィンドウを作成してから、IE7のエラー文書への書き込み

var htmlContent = $("msHTML").value; 
var win = window.open("preview.cfm", "Preview HTML", "left=20,top=20,width=500,height=500,toolbar=0,resizable=1,scrollbars=1"); 
win.document.write(htmlContent); //TODO - throwing an error in IE 7 - Error Invalid Argument 
win.document.close(); 

これはFirefoxでうまく動作しますが、コメントで述べたように、それはIE7での不正な引数の例外を与えている:そのように、その同じマークアップされる新しいウィンドウの内容。

誰でも手助けできますか?

ドキュメントの内容を設定するときにブラウザの違いに遭遇する可能性のあるプロトタイプライブラリ内に何も見つかりませんでした。私は、動作する可能性のあるプロトタイプ上に構築された別のウィンドウライブラリがあるかもしれないことを知っていますが、それは私が思うこの問題のために過剰なもののようです。

ありがとうございます!

答えて

3

IEで

window.open(url, name, features); 

"名前" のための第二のパラメータ、はスペースを含めることはできません。(すべてのバージョンのIEに影響します)

//works 
window.open('page.html', 'mypage', ''); 

//FAILS in IE 
window.open('page.html', 'my page', ''); 
1

URLとタイトルを削除します。window.open() - セキュリティ関連の問題です。とにかく、コードの次の行の上書きウィンドウの内容以降、URLを指定する必要はありません。

これは動作します:

var win = window.open('', '', 'left=20,top=20,' + 
     'width=500,height=500,toolbar=0,resizable=1,scrollbars=1'); 

win.document.write($("msHTML").value); 
関連する問題