关于javascript:window.open在Chrome中使用目标” _blank”

window.open with target “_blank” in Chrome

我有一个小的javascript函数,可以在新标签页中打开一个网址:

1
2
3
4
function RedirectToPage(status) {
   var url = 'ObjectEditor.aspx?Status=' + status;
   window.open(url , '_blank');
}

当通过单击按钮调用客户端(即使在Chrome浏览器中)时,此方法始终有效。
但是在Chrome中,当使用

从服务器端(!)调用它时,它将无法正常工作

1
ScriptManager.RegisterClientScriptBlock()

在Firefox和IE中,它会在新标签页中打开网址,而Chrome会在新窗口中打开网址。强制Chrome在新标签页中打开它的解决方法是什么?


这是Chrome的设置。您无法控制浏览器如何解释目标_blank


" _ blank"不保证是新的标签页或窗口。每个浏览器的实现方式有所不同。

但是,您可以将任何东西放入目标。我通常只说" _tab",我知道的每个浏览器都只是在一个新的标签中打开它。

请注意,这意味着它是一个命名目标,因此,如果您尝试打开2个URL,它们将使用相同的标签。


1
window.open(skey,"_blank","toolbar=1, scrollbars=1, resizable=1, width=" + 1015 +", height=" + 800);


如丹尼斯所说,您无法控制浏览器如何选择处理target = _blank。

如果您想知道不一致的行为,可能是弹出窗口阻止。许多浏览器会禁止新窗口以任何方式打开,但会由于鼠标单击事件的最终结果而产生新窗口。


您无法执行此操作,因为您无法控制Chrome打开其窗口的方式