IE 7 ошибка записи в документ - PullRequest
0 голосов
/ 31 марта 2009

Я использую прототип библиотеки JavaScript для чтения содержимого текстовой области (которая часто является разметкой complete для другой HTML-страницы), создания нового окна и затем установки нового содержимого окна быть такой же наценкой, вот так:

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 создается исключение Illegal Argument.

Кто-нибудь может помочь?

Я не смог найти ничего в библиотеке прототипов, которое могло бы обойти браузер при настройке содержимого документа. Я знаю, что могла бы быть другая библиотека окон, построенная на прототипе, которая могла бы работать, но это кажется избыточным для этой проблемы, я думаю.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 31 марта 2009

2-й параметр для

window.open(url, name, features);

«имя» в IE, НЕ ДОЛЖНО СОДЕРЖАТЬ ПРОСТРАНСТВА. (влияет на все версии IE)

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

//FAILS in IE
window.open('page.html', 'my page', '');
1 голос
/ 31 марта 2009

Удалить 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...