target=“_空白“;弹出一个窗口而不是打开一个新的选项卡

target="_blank" pop-ups a window instead of open a new tab

本文关键字:一个 选项 窗口 空白 target      更新时间:2023-09-26

我有一个从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配置(工具| Internet设置|选项卡|设置)

在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中产生任何不同的行为。最终,浏览器将决定要发生什么,很可能两种方法最终都会得到相同的结果。