0

我在一个<input>元素中有一个<a>元素,这意味着 IE8 在单击时会忽略该<a>元素的 href 属性。它适用于所有其他浏览器。 有没有办法确定是否打开了新的选项卡/窗口? 如果它不起作用,我可以给用户一个正常/丑陋的链接来点击。

代码示例:

<a target="_blank" href="http://somelink.com"><input type="button" class="standard_button_styling" /></a>

我试过的:

  1. 删除<input>标签并设置标签样式<a>:我很难让它看起来像我的其他按钮(可能是由于本机浏览器样式),我不希望它看起来更糟糕,因为每个人都只修复了 IE8 的问题。
  2. 使用 JavaScript window.open() 触发链接:这不会在 IE 中发送referer_url,我的示例中的 somelink.com 依赖它。所以我需要让用户点击一个正常的链接。
  3. 浏览器检测:我可以只寻找 IE8 并为 IE8 提供不同的响应,但是浏览器检测而不是特征检测被认为是不好的做法,如果可能的话我想避免它。
4

1 回答 1

0

您可以尝试使用<button>代替,<input>但我不确定这是否能解决问题。
或者只是使用<form>.

<form method="get" target="_blank" action="yourlink">
    <input type="submit" value="Click" />
</form>
于 2013-04-19T21:15:40.120 回答