0

我正在创建一个 JSP 页面,其中必须打开一个包含一些内容的新窗口。例子:

window.open("www.stackoverflow.com");

当我们使用 Internet Explorer 浏览器时,程序会打开一个“新窗口”。当我们使用 Google Chrome 浏览器时,相同的程序会打开一个“新标签”而不是“新窗口”。这背后的问题是什么?也让我知道解决方案?

4

3 回答 3

2

请记住,首先,JSP 是在服务器端评估的,并吐出发送到浏览器的标记,window.open()然后在客户端执行类似(JavaScript)之类的东西。

其次,它是打开一个新选项卡还是一个新窗口(正如我的评论链接所示)取决于用户在浏览器中的偏好,因此不是您可以控制的。您应该能够在 IE 和 Chrome 中更改您自己的浏览器设置来测试这一点。

于 2013-02-24T15:41:05.647 回答
2

请注意,window.open 是 JavaScript 函数而不是 JSP,JSP 用于服务器端,JavaScript 用于客户端。

要在 chrome 中弹出一个新窗口,您必须指定新窗口的“规格”。这是一个例子。

window.open("www.stackoverflow.com", "", "toolbar=yes,menubar=no,resizable=yes,scrollbars=yes,width=1024");

有关“规格”的更多详细信息,请参阅 w3school http://www.w3schools.com/jsref/met_win_open.asp

希望这可以帮到你。

于 2013-02-24T15:43:53.823 回答
1

正如所有人所说,这是一个javascript功能。不是jsp的。

如果您没有设置任何 ant 目标,则取决于browser specification.

所以,总是最好提到target attribute摆脱浏览器依赖。

这是 W3C 定义的目标列表。

http://www.w3schools.com/tags/att_a_target.asp

前任:window.open("www.stackoverflow.com","_self");//Always opens in same tab

于 2013-02-24T21:03:42.417 回答