Javascript 我应该用什么来代替document.write弹出窗口

Javascript 我应该用什么来代替document.write弹出窗口,javascript,html,document.write,Javascript,Html,Document.write,在我的网页中,我打开一个弹出窗口,并使用JavaScript/jQuery为弹出窗口生成HTML: var site="<html> ............. </html>"; var popupWindow = window.open("","","menubar=0,scrollbars=0"); popupWindow.document.write(site); 我应该做这项工作,谢谢。不幸的是,我的框架可能会干扰,所以在FF中它对我不起作用。IE起作用。您必

在我的网页中,我打开一个弹出窗口,并使用JavaScript/jQuery为弹出窗口生成HTML:

var site="<html> ............. </html>";
var popupWindow = window.open("","","menubar=0,scrollbars=0");
popupWindow.document.write(site);

我应该做这项工作,谢谢。不幸的是,我的框架可能会干扰,所以在FF中它对我不起作用。IE起作用。

您必须在完成编写后关闭文档:

var site="<html> ............. </html>";
var popupWindow = window.open("","","menubar=0,scrollbars=0");
popupWindow.document.write(site);
popupWindow.document.close();
var site=“…………”;
var popupWindow=window.open(“,”,“菜单栏=0,滚动条=0”);
popupWindow.document.write(站点);
popupWindow.document.close();
将此添加到末尾将解决此问题。
我以前在这里找到过它:

您应该使用jQuery的
append()

innerHTML

var popup = window.open();
popup.document.body.innerHTML = 'site data here';

我不知道你是否想要一个新窗口,因为你可能只需要使用一个带有过度etc的div(你不能拖动或做任何事情)。我个人不会太担心这个问题。如果你的弹出窗口显示缓慢进程中的数据,你可能会在加载时显示某种加载条或进度指示器。加载速度快,这是一个小的HTML代码。但是,我仍然不希望页面被加载。是否有替代document.write的方法来编写整个页面?在编写()之前,您应该有document.open()。@epascarello的MDN doc也来自MDN:另外,当页面加载后调用document.write()时,会自动调用document.open(),但W3C规范中没有定义。将非规范参数记录到document.open中。感谢您的回答。现在我使用open、write、close,但它在服务器上仍然不起作用。它只能在我的笔记本电脑上本地工作。
popupWindow.document.close();
var win = window.open();
    var popup = win.document.body;
    $(popup).append('site html');
var popup = window.open();
popup.document.body.innerHTML = 'site data here';