javascript - window.opener.parent 在 Microsoft Edge 上不起作用

标签 javascript jquery microsoft-edge

我打开一个窗口使用

window.open();

在该窗口上处理后,我想使用以下方法将数据写入父窗口元素:

var html_high = '<img width="600" src="assets/images/abc.jpg" alt="Image">';
var high = window.opener.parent;
$('#image_area',high.document).html(html_high);

$('#image_area',high.document).html(html_high); 这不起作用,仅在 Microsoft Edge 40.15063.0.0 中的控制台中出现错误:

"SCRIPT65535: Invalid argument"

以上代码适用于所有浏览器,包括 IE 11、10、9、chrome、mozilla 和 safari。

最佳答案

这是 MS Edge 的一个已知问题。 您可以尝试存储对新打开窗口的引用并尝试将其注销以查看是否有其他属性具有您正在寻找的内容。 我没有看到真正的解决方法。 https://connect.microsoft.com/IE/feedback/details/828050/ie-11-when-opening-a-new-window-from-another-window-opener-is-undefined

MDN的解释:

当从另一个窗口打开一个窗口时(使用 Window.open 或带有其目标属性集的链接),它维护对第一个窗口的引用作为 window.opener。如果当前窗口没有打开器,则此方法返回 NULL。

Windows Phone 浏览器不支持 window.opener(使用 Microsoft Edge 25.10586.36.0 测试)。如果开启器位于不同的安全区域,则 IE 也不支持它。

在某些浏览器中,原始 anchor 标记上的 rel="noopener"属性将阻止设置 window.opener 引用。

关于javascript - window.opener.parent 在 Microsoft Edge 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46470316/

相关文章:

javascript - jQuery 中如何获取元素的具体值

javascript - 如何 - 如果 div 有子 div,则展开此 div?

microsoft-edge - 非 Windows 平台永远不会出现浏览器屏幕截图

css - 为什么 Microsoft Edge 忽略 td 宽度?

css - IE11 无法正确呈现 CSS

javascript - chrome bug 全屏背景重绘

javascript - 在 jQuery.ajax 请求中使用 reviver 函数

javascript - jquery 如何选择所有单选按钮并排除一个

javascript - 将数值导出为 JSPDF 中的条形码

javascript - 同位素回调函数