19

我有一个小的 javascript 函数,它在新选项卡中打开一个 url:

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

这在通过单击按钮调用客户端时始终有效,即使在 chrome 中也是如此。但是在 Chrome 中,当它通过使用从服务器端(!)调用它时它将不起作用

ScriptManager.RegisterClientScriptBlock()

在 Firefox 和 IE 中,它在新选项卡中打开 url,但 chrome 在新窗口中打开 url。有什么办法可以强制 Chrome 在新标签页中打开它?

4

5 回答 5

19

这是chrome中的设置。您无法控制浏览器如何解释 target _blank

于 2012-06-14T15:05:05.663 回答
17

"_blank" 不保证是新的选项卡或窗口。每个浏览器的实现方式不同。

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

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

于 2012-06-14T15:05:57.303 回答
1
window.open(skey, "_blank", "toolbar=1, scrollbars=1, resizable=1, width=" + 1015 + ", height=" + 800);
于 2015-12-21T21:08:29.267 回答
0

您不能这样做,因为您无法控制 Chrome 打开其窗口的方式

于 2012-06-14T15:05:45.223 回答
0

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

如果您想知道不一致的行为,可能是弹出窗口阻止。许多浏览器会禁止在任何情况下打开新窗口,但会允许在鼠标单击事件的最终结果中生成新窗口。

于 2012-10-18T12:44:21.467 回答