如何在location.href中使用target

use*_*509 16 javascript window.open

我目前正在开发一个Web应用程序,我需要打开一个弹出窗口来显示报告.问题是某些版本的资源管理器不支持window.open javascript函数,所以在这种情况下我抓住错误并用location.href打开新的url.这里的代码:

try {
    window.open(url, "","width=1002,height=700,location=0,menubar=0,scrollbars=1,status=1,resizable=0")
} catch(e) {
    location.target = "_blank";
    location.href = url;
}
Run Code Online (Sandbox Code Playgroud)

问题是location.target无法正常工作,我想知道是否有办法指定location.href的目标,以便可以在新选项卡中打开它.

qia*_*iao 25

尝试这个,模拟锚点击.

var a = document.createElement('a');
a.href='http://www.google.com';
a.target = '_blank';
document.body.appendChild(a);
a.click();
Run Code Online (Sandbox Code Playgroud)


T.J*_*der 12

问题是某些版本的资源管理器不支持window.open javascript函数

说什么?你能为这个陈述提供参考吗?尊重,我认为你一定是错的.例如,这适用于IE6和IE9.

大多数现代浏览器不会让您的代码使用,window.open除非直接响应用户事件,以防止垃圾邮件弹出等等; 也许这就是你的想法.只要您只window.open在响应用户事件时使用,您就可以使用window.open - 使用所有版本的IE.

无法使用location打开新窗口.刚刚window.open还是,当然,用户点击一个链接target="_blank".


小智 12

您可以在onclick工作的任何元素上使用它:

onclick="window.open('some.htm','_blank');"