繁体   English   中英

target =“ _ blank”弹出一个窗口,而不是打开一个新选项卡

[英]target=“_blank” pop-ups a window instead of open a new tab

我有一个从js生成的“表单”的怪异问题。 代码是这样的:

var form_ = 
    '<form method="get" action="/foo/bar/" target="_blank">' +
        '<input type="hidden" name="a" value="' + a + '"/>' +
        '<input type="hidden" name="b" value="' + b +'"/>' +
        '<input type="hidden" name="c" value="' + c + '"/>' +
    '</form>';

$(form_).appendTo('body').submit().remove();

a是包含日期( dd/mm/yyyy )的字符串变量,而b,c是数字。

我在应用程序的许多地方都使用了此代码段,实际上,在同一HTML中有一个非常相似的代码,可以按我的期望打开一个新选项卡,但是这个特定代码试图弹出一个窗口。

我已经尝试使用Firefox,Chrome和IE。

target="_blank"用于在新窗口中打开目标。 相反,大多数现代浏览器都打开新选项卡的事实并没有任何标准定义,通常由用户通过设置来控制。

如果您将浏览器设置为在选项卡而非窗口中打开新链接,并且在这种情况下不起作用,则可能是您发现了一个错误。

应用程序周围的其他地方是表单还是仅仅是链接?

可以为Internet Explorer 9配置打开新选项卡或浏览器新实例的行为(工具| InternetSettings | Tabs | Settings)

在Firefox中,这些选项位于“工具” |“选项” |“选项卡”中

Chrome似乎没有为此设置,但是您可以通过右键单击链接在新窗口或新标签之间进行选择。

从此处给出的答案中: http : //www.plus2net.com/html_tutorial/submit-new.php

<form name="f1" type="post" action="test5.html">
<input type="submit" value="Open default action file test5.html" onclick="this.form.target='_blank';return true;" />
</form>

编辑:这在Chrome中对我有效,但是我看不出为什么它会通过JS产生任何不同的行为。 最后,浏览器将决定将要发生的情况,并且很可能两种方法最终都会得到相同的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM