【问题标题】:Prevent users from opening link in new tab阻止用户在新标签页中打开链接
【发布时间】:2017-03-22 16:11:19
【问题描述】:

我有一个在两个网站之间提交的表单,在此过程中将用户从 first-website.com 带到 second-website.com(显然不是他们的真实姓名)

在 first-website.com 我有一个这样的表格:

<a href="#" class="submit-link">click here</a>
<form class="test-form" action="//second-website.com/gohere.php" method="post">
<input name="form-var" type="hidden" value="hello world">
</form>

当点击提交链接时,它会触发一些像这样的 jQuery:

$(this).find('test-form').submit()

问题是这仅在链接在当前浏览器窗口和选项卡中打开时有效。如果用户右键单击链接并选择“在新选项卡中打开链接”(或单击鼠标中心滚轮等),则 second-website.com 无法正确处理表单。如果他们左键单击链接,它可以正常工作并在新选项卡中打开,只有当用户故意尝试打开新选项卡或窗口时才会出现问题。

所以我需要确保用户不能在新选项卡中打开,如果他们使用鼠标中心滚轮单击,它将强制在当前选项卡中打开。这可能吗?

【问题讨论】:

  • 为什么不起作用?什么实际上失败了?与其试图阻止用户使用他们的网络浏览器,不如尝试解决实际问题。

标签: jquery html


【解决方案1】:

您可以像这样使用target="_blank" 属性:

<form target="_blank">
    ...
</form>

这将允许在新选项卡中提交表单。

不过,您需要使用常规的提交按钮:

<input type="submit" value="click here">

看到这个jsFiddle

【讨论】:

    猜你喜欢
    • 2015-10-18
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2011-09-29
    • 2014-05-05
    • 1970-01-01
    • 2020-07-27
    相关资源
    最近更新 更多