Na przykład istnieje kod JavaScript, który zawiera moduł obsługi kliknięć, który określa, do którego użytkownika należy przekierować. Załóżmy, że jest to po prostu losowe łącze przekierowania, które jest obliczane, gdy użytkownik kliknie łącze.Zapobiegaj "przejęciu" intencji kliknięcia linku, gdy stosujesz niestandardową funkcję zdarzenia kliknięcia.
Oto kilka scenariuszy:
Jeśli użytkownik opuścił kliknięcia na link, intencją jest, aby użytkownik nawigacji w tej samej karcie, która współpracuje z
window.location
.Jeśli użytkownik kliknie ten link pośrednio, okazuje się, że witryna przejęła środkowe kliknięcie i po prostu je zignorowała, przekierowując użytkownika na tę samą kartę zamiast nowej karty.
Ponadto, jak ktoś tylko skomentował (i skasował komentarz?), Innym scenariuszem jest modyfikator klawiszy, które mogą również sugerować przeglądarce, aby otworzyć nową kartę, a nawet nowe okno.
Inną propozycją jest możliwość otwarcia łącza w nowej karcie lub oknie za pośrednictwem menu kontekstowego. Jest to mniej ważne, ale zdecydowanie ten sam problem z użytecznością.
Widziałem ten problem na wielu stronach internetowych, w szczególności dla mnie, Google Analytics, gdzie prawie za każdym razem, gdy kliknąłem na środkowy przycisk, ten efekt się pojawił.
Dobrym przykładem tego, co jakiś kod JavaScript musi to:
Process niektóre dane, a następnie wysłać off wniosek XHR który musi być zakończone przed pozwalając użytkownikowi, aby przejść do linku one kliknął na.
Jak sobie z tym poradzić? na przykład czy istnieją sposoby na wykrycie, czy użytkownik oczekiwał, że link pojawi się na nowej karcie, a jeśli tak, czy możliwe jest załadowanie nowej karty? Może myślę o tym w niewłaściwy sposób?
Czy są jakieś popularne przeglądarki, które nie wywołują zdarzenia "kliknięcie" po kliknięciu środkowego elementu? – icktoofay
Jeśli nie możesz podać adresu URL, do którego może przejść użytkownik, lepiej użyć pustego ("#", "javascript :;" ... itd.) Adresu URL lub w ogóle nie używać "". Możesz wykryć środkowe kliknięcia, ale nie możesz wykryć opcji w menu prawym przyciskiem myszy (otwórz w nowej karcie/oknie, skopiuj link ...). – Vatev
@Vatev dlaczego musisz wykrywać opcje w menu prawego przycisku myszy? OP chce wiedzieć, jak wykrywać średnie kliknięcia. – bPratik