Могу ли я определить, успешно ли нажатие на ссылку открыло новое окно/вкладку?

У меня есть элемент <input> внутри элемента <a>, что означает, что IE8 игнорирует атрибут href элемента <a> при нажатии. Он отлично работает во всех других браузерах. Есть ли способ определить, открылась ли новая вкладка/окно? Затем я могу дать пользователю обычную/уродливую ссылку, чтобы щелкнуть ее, если она не работает.

Пример кода:

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

Что я пробовал:

  1. Удалите тег <input> и стилизуйте тег <a>: у меня возникли проблемы с тем, чтобы он выглядел так же, как другие мои кнопки (возможно, из-за собственного стиля браузера), и я не хочу, чтобы все выглядели хуже, чтобы решить проблему только с IE8.
  2. Триггерная ссылка с JavaScript window.open(): это не отправляет referer_url в IE, и somelink.com в моем примере полагается на него. Поэтому мне нужно, чтобы пользователь щелкнул обычную ссылку.
  3. Обнаружение браузера: я мог бы просто найти IE8 и предоставить другой ответ для IE8, но обнаружение браузера вместо обнаружения функций считается плохой практикой, и я хотел бы избежать этого, если это возможно.

person JSP64    schedule 19.04.2013    source источник


Ответы (1)


Вы можете попробовать использовать <button> вместо <input>, но я не уверен, что это решит проблему.
Или просто используйте <form>.

<form method="get" target="_blank" action="yourlink">
    <input type="submit" value="Click" />
</form>
person ghost    schedule 19.04.2013
comment
Превращение его в кнопку не работает, но превращение в форму работает. Спасибо! - person JSP64; 20.04.2013