我开了一个新窗口
var win = window.open("", "", "width=400, height=200");
Run Code Online (Sandbox Code Playgroud)
我希望能够达到它的身体
var $windowBody = $(win.document.body);
Run Code Online (Sandbox Code Playgroud)
从那里使用像.find(),.html()
这适用于FF和Chrome 但不适用于IE.找到了这个相关的帖子.
如何解决这个问题?即,如何使这项工作跨浏览器?
jsFiddle - 注意关闭按钮永远不会出现在IE中.
我正在尝试创建一个伪报告,显示导入数据时的错误.要做到这一点,我有两个功能:
let createHtmlErrorReport = (err) => {
let currentDate = new Date().toLocaleString();
let contents = '<!DOCTYPE html> ' +
'<html>' +
'<head>' +
'<title>Import Inventory Import</title>' +
'<meta charset="utf-8" />' +
'<meta http-equiv="Content-Language" content="en">' +
'<style type="text/css">' +
' html { margin:0; }' +
' body { background-color:#d6d6d6; font: 10pt sans-serif;}' +
'ul li{ padding: 3px; font:12pt;}'+
' #header {padding:10px; background-color:#007fcc; color:#ffffff; } ' +
'</style>' +
'</head>' +
'<body>' +
'<div id="header">'+
'<strong>Import Inventory Import</strong>' +
'</div>' +
'<p><strong>Imported …Run Code Online (Sandbox Code Playgroud) 我从一个窗口有一个html表.我通过使用得到了表
var table = document.getElementById('tableId');
Run Code Online (Sandbox Code Playgroud)
然后我用以下方法打开另一个窗口:
window.open('newWindow.html');
Run Code Online (Sandbox Code Playgroud)
在这个窗口中,有一个id = divId的div.
现在,如果我尝试通过以下代码从其他窗口追加表:
var cloneTable = jQuery.extend(true, {}, window.opener.table);
var div = document.getElementById('divId');
div.appendChild(cloneTable);
Run Code Online (Sandbox Code Playgroud)
Internet Explorer将抛出此错误:
SCRIPT5022:HierarchyRequestError
我已经搜索了错误代码,如下所示:
http://msdn.microsoft.com/en-us/library/ie/gg592979(v=vs.85).aspx
它说我无法在该位置插入节点.但是,上面的代码在Firefox和Chrome中运行良好.
这里发生了什么以及如何解决这个问题?
谢谢,
PS:我正在使用IE 10