appendChild不能处理窗口.在IE中打开
appendChild not working with window.open in IE
我有一个带有svg标记的页面。该页面有一个名为"预览"的按钮,点击该按钮将打开一个带有图像(svg)的新窗口。
下面是一段可以在Chrome/Firefox中工作但不能在IE中工作的代码(我使用IE9 - 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);
任何建议都将是非常感谢的。
谢谢。
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'));
在处理了相同的问题之后,这是在我的IE案例中工作的解决方案的摘录,避免了SCRIPT5022错误。感谢这篇文章的帮助
var myWindow = window.open('about:blank', 'loading...', '');
var myWindowDoc = myWindow.document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);
var myWindowBody = myWindow.document.createElementNS('http://www.w3.org/1999/xhtml', 'body');
myWindow.document.open().write('<html><head></head><body><div id="targetDiv"></div></body></html>');
myWindow.document.close();
try {
myWindow.document.getElementById('targetDiv').appendChild(HTMLpayload.cloneNode(true));
} catch (e){
if (HTMLpayload.outerHTML) {
myWindow.document.getElementById('targetDiv').innerHTML = HTMLpayload.outerHTML;
} else {
console.log(e);
}
}
相关文章:
- Javascript赢得'不能在IE上编译,但可以在Chrome上运行
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- Iframe加载调整大小在Chrome中工作,但不能在IE或Firefox中工作
- 我的剧本赢了'不能在IE中工作(甚至9)?修改复制文本的简单javascript
- Jquery animate 不能与 IE 一起使用 - 什么也没发生
- 从Java脚本返回多个值,这些值不能在firefox上运行(在IE上运行良好)
- addEventListener没有'不能在IE中工作(在IE8中测试)
- JavaScript可以在IE+Chrome中使用,但不能在FF中使用
- jQuery scrollTop没有'不能在FF或IE中制作动画,但在chrome中效果良好
- .load() 适用于 IE 和 dreamweaver 预览版,但不能使用 opera 和 chrome
- JavaScript 在 IE 中工作,但不能在 Firefox 中工作
- 嵌入式谷歌地图仅在IE上加载,但既不能在Mozilla Firefox上加载,也不能在Google Chrome上加载
- JQuery CSS Transform在Chrome和Firefox中工作,但不能在IE中工作
- 不能让CKEditor插入HTML在IE 8上运行
- IE不能正常运行远程JS,但本地运行良好
- IE不能设置url,而Chrome可以
- IE不能处理jquery之类的东西
- 本地存储和IE.不能让它工作
- IE不能提交动态添加的表单字段
- 为什么IE不能正确显示