我试图将DOM节点从“根”页面移动到通过window.open()创建的新弹出窗口.这是我正在使用的代码.
var win = window.open('/Search/Print', 'printSearchResults'),
table = $('#printTable');
win.document.close();
setTimeout(function () {
var el = win.document.createElement("table");
el.innerHTML = table.html();
win.document.body.appendChild(el);
}, 40);
它适用于Chrome,但在IE8中,我收到以下错误:“未知的运行时错误.”
我也是这样试过的:
var p = window.open('/Search/Print', 'printSearchResults'),
table = $('#printTable');
setTimeout(function () {
p.document.body.appendChild(table.clone(false)[0]);
}, 100);
这样做,我在IE8中收到“没有这样的界面支持”. Chrome再次正常运行.
有没有人有办法做我想要实现的目标?
以下是弹出窗口的HTML,仅为了完整性:
<!DOCTYPE html>
<html>
<head>
<title>Print Results</title>
</head>
<body>
</body>
</html>
最佳答案 我在IE9(和IE8 / 7浏览器模式)上测试了你的代码.
而不是el.innerHTML = table.html();
使用jquery $(el).html(table.html());解决了这个问题.