好的,所以我下载了 IE10 并立即遇到了一些问题......
想象一下下面的情况。我们有一个包含 HTML 的父窗口:
<!DOCTYPE html>
<html>
<head>
<script>
function doAction()
{
var win = window.open('child.htm', '', '');
}
</script>
</head>
<body>
<a href="#" onclick="doAction();">Click here to open window</a>
<div id="obj"><span>A new element should appear: </span></div>
</body>
</html>
如果单击该链接,它将打开一个包含 HTML 的窗口:
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function()
{
var span = document.createElement('span');
span.innerHTML = 'it works!';
try
{
window.opener.document.getElementById('obj').appendChild(span);
}
catch(e)
{
alert('Exception was thrown: ' + e);
}
};
</script>
</head>
<body>
</body>
</html>
我已经在很多浏览器(FF、Chrome、IE 等)中对此进行了测试。文本“它有效”出现,就像它应该的那样。除了 IE10,它会发出警报:
'Exception was thrown: HierarchyRequestError'
我的问题是,解决这个问题的最佳方法是什么?
我当然可以将孩子传递给 window.opener 中的函数,但这也不起作用。好像我只能将一个孩子添加到创建它的窗口中。正确的?
我也想知道为什么这已经改变了,很难找到关于这个异常的任何信息。