Определить, когда пользователь хочет открыть в новом окне / вкладке - PullRequest
0 голосов
/ 14 мая 2011

Я пишу приложение AJAX, поэтому каждая ссылка на моей странице является ссылкой javascript (href="javascript:void(blahblah)"). Некоторые из них открывают небольшие веб-страницы в iframe в штучной упаковке абсолютно позиционированного элемента div (который можно перетаскивать).

Это выглядит хорошо, но если пользователь щелкнет средней кнопкой мыши по ссылке, он не сможет открыть страницу в новой вкладке, потому что браузер пытается выполнить скрипт на новой странице, которая завершается неудачей.

Итак, что я хочу сделать, это:

  • Если пользователь нажимает на ссылку, он открывает веб-страницу в фрейме в абсолютно позиционированном div. (это работает в настоящее время).
  • Если пользователь щелкает средней кнопкой мыши по этим ссылкам (или как-то открывает ссылку в новой вкладке / окне и т. Д.), Страница должна загружаться в новой вкладке / окне, как и ожидалось.
  • Необязательно: средний щелчок ничего не должен делать со всеми другими ссылками JavaScript.

Есть ли (желательно кросс-браузерный) способ сделать это?

РЕДАКТИРОВАТЬ: это веб-приложение представляет собой браузерную игру, в которой для отображения игрового мира используется элемент canvas, поэтому я не против, если ваше решение работает только в браузерах с поддержкой canvas.

Ответы [ 2 ]

4 голосов
/ 14 мая 2011

Есть ли (желательно кросс-браузерный) способ сделать это?

Да, не надо href="javascript:void(blahblah)", опираться на то, что работает.

0 голосов
/ 14 мая 2011

Ознакомьтесь с техникой hijax , которая позволяет постепенно улучшать ваше приложение, чтобы использовать обычные ссылки или ссылки JavaScript. Есть плагин hijax jQuery , который может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...