appendChild在IE中没有使用window.open

ria*_*ria 10 javascript internet-explorer appendchild window.open

我有一个带有svg标签的页面.该页面有一个名为"预览"的按钮,在点击时应该打开一个带有图像的新窗口(svg).

下面是一段代码,可以在Chrome/Firefox中使用,但不能在IE中使用(我使用的是IE 9-IE9标准模式)

var w = window.open();
var svg = $('#chart');              
var svgPrint = svg.cloneNode(true);
svgPrint.setAttribute('xmlns','http://www.w3.org/2000/svg');
w.document.body.appendChild(svgPrint);
Run Code Online (Sandbox Code Playgroud)

任何建议都将受到高度赞赏.

谢谢.

Mir*_*ani 13

IE将阻止在元素正在追加的窗口上下文中追加在不同窗口上下文中创建的任何元素.

var childWindow = window.open('somepage.html');

//will throw the exception in IE
childWindow.document.body.appendChild(document.createElement('div'));

//will not throw exception in IE
childWindow.document.body.appendChild(childWindow.document.createElement('div'));
Run Code Online (Sandbox Code Playgroud)

  • 多谢你们!在相同的上下文中创建节点我附加解决了问题:) (4认同)