window.opener.location.href适用于IE,但不适用于Chrome或Safari

Bar*_*rbs 6 javascript safari google-chrome window.opener

我一直在研究这个问题,虽然各种论坛上有很多关于类似问题的帖子,但没有一个问题或解决方案与我的完全匹配.

我有一个应用程序已成功使用下面的功能,一旦完成弹出窗口重定向回父窗口.最近我一直在研究与其他浏览器的兼容性(允许系统通过iPad使用),并且发现使用Safari或Chrome时此功能存在问题.

父页面是一些数据库信息的摘要,用户单击链接以打开窗口(通过window.open)以查看更详细的数据.完成后,子窗口上会有一个链接刷新父级数据(部分是为了确保在返回父级时显示正确的数据)并关闭子级.

Safari中的控制台报告"'window.opener.location.href'的结果不是函数".我试图使用上面的'window.opener.document.location.href'和'window.opener.window.location.href'(取自网上提供的其他解决方案)但没有成功.

我知道有些人的功能很好,而其他人则有这种问题.我想知道这个具体情况是否有任何答案.

这是我的功能:

function quicklink(url) {
window.opener.document.location.href(url);
self.close();
}
Run Code Online (Sandbox Code Playgroud)

这在IE7,8和9的第一天起作用,但在Safari(适用于Windows或iPad)或Chrome中不起作用.

有任何想法吗?

Guf*_*ffa 20

href是一种财产,而不是一种方法.只需为其分配URL:

window.opener.document.location.href = url;
Run Code Online (Sandbox Code Playgroud)

这也适用于IE.它也是一个属性,即使它允许你使用它作为一种方法.