Как отключить/удалить "Открыть ссылку в новой вкладке" в меню правой кнопки мыши браузера? Если это невозможно с помощью javascript и т.д., То есть ли способ изменить то, что происходит, когда пользователь нажимает на эту ссылку, например, отображает предупреждение или не позволяет вкладке загружаться.?
Как отключить "Открыть ссылку в новой вкладке" в браузере?
Ответ 1
Решили главную проблему сейчас, довольно легко, как оказалось, просто передав строку запроса href функции ajax.
Вероятно, я должен был объяснить в своем вопросе, что то, что я хотел, предназначалось только как временная мера. В любом случае спасибо за все комментарии.
Ответ 2
Возможность открытия ссылки в новой вкладке/окне является встроенной функциональностью многих браузеров. Если вы не хотите разрешать этот вид деятельности, вам необходимо уведомить браузер о том, что ваша ссылка не является действительно ссылкой. Самый простой способ сделать это - удалить атрибут href
из вашего элемента a
.
HTML:
<a href="http://google.com">Can be opened in new tab/window</a>
<a>Cannot be opened in new tab/window</a>
Теперь есть другие вещи, которые браузер может делать для вас по умолчанию, когда видит ссылку. Если вы не определили стиль элементов a
, скорее всего, ваша новая причудливая псевдосвязь не появится со ссылкой font-color, pointer и подчеркиванием. Вы можете идти вперед и делать это достаточно легко.
CSS
a {
color: blue;
cursor: pointer;
text-decoration: underline;
}
Это, надеюсь, ответит на вопрос о том, как отключить/удалить "Открыть ссылку в новой вкладке" в меню правой кнопки мыши браузера. Для некоторых дополнительных кредитов, хотя я собираюсь предположить, что вы, вероятно, хотите, чтобы ссылка по-прежнему функционировала как обычная ссылка при нажатии. Не стесняйтесь использовать какой-то JavaScript, чтобы это произошло. Вот пример использования jQuery:
JavaScript:
$("body").on("click", "a[data-href]", function() {
var href = $(this).data("href");
if (href) {
location.href = href;
}
});
Измененный Html:
<a href="http://google.com">Can be opened in new tab/window</a>
<a data-href="http://google.com">Cannot be opened in new tab/window</a>
Измененный CSS:
a[href], a[data-href] {
color: blue;
cursor: pointer;
text-decoration: underline;
}
Надеюсь, это поможет!
Ответ 3
Я не уверен, почему кто-то запустит ваш вопрос, что вам нужно для Google - как захватить события с помощью javascript. Вы можете очень хорошо показывать предупреждение, когда вы нажимаете ссылку и не можете ее использовать. jQuery - это набор инструментальных средств JS-Populat и имеет метод остановки событий по умолчанию для элемента на простом английском языке, используя jQuery, вы можете остановить гиперссылку от ее работы и показать предупреждение. Эта ссылка http://api.jquery.com/event.preventDefault/ может помочь вам в дальнейшем. Что касается отключения контекстного меню, которое появляется при щелчке правой кнопкой мыши на веб-странице, да, это очень возможно. Я не ниндзя JS, поэтому не могу комментировать, если вы можете удалить элемент из контекстного меню, но IMO, это не должно быть возможным.
Ответ 4
2019
Я выделю 2 важных комментария:
-
nnnnnn @10 августа '11 в 5:49:
Как пользователь, я бы предпочел, чтобы этот тип функции запускался кнопкой, а не ссылкой. Я ожидаю, что ссылки будут работать более стандартным способом, включая предоставление мне возможности щелкнуть правой кнопкой мыши по меню или щелкнуть средней кнопкой мыши, чтобы открыть непосредственно в новой вкладке.
-
Парс @21 декабря 13 в 13:10:
это не будет работать, когда вы щелкаете средней кнопкой мыши или удерживаете клавишу CTRL и нажимаете на ссылку. как в тех случаях.
Это до браузера, чтобы решить, получает ли он поведение ссылки или нет.
Некоторые современные браузеры (например, Chrome) будут рассматривать его как ссылку, если все приведенные ниже условия соответствуют:
- Это тег
<a>...</a>
(неspan
,div
,button
и т.д.). - Имеет атрибут
href
. - Атрибут
href
не пуст.
Ниже получите стыковку поведение:
<a href="#" onclick="location.href='http://www.website.com'; return false;">Click Here</a>
Ниже НЕ будет получено поведение ссылки:
<a>Not link because no href</a>
<a href="">Not link because empty href</a>
<span>Not link because not "a" tag</span>
<span href="#" onclick="location.href='http://www.website.com'; return false;">Not link because not "a" tag again</span>
Важная заметка:
Опять же, это решать браузеру. Некоторые старые/глупые браузеры могут указывать на поведение ссылок, если ЛЮБОЕ из 3-х условий выше соответствует!
Заключение
Если это ссылка, используйте <a href="some_link">...</a>
. Если это не ссылка, используйте что-то еще, например <button>
.