Niektóre witryny wykorzystują hiperłącza „kreatywne” (javascript?), Które niszczą funkcje przeglądarki, takie jak możliwość klikania linków z wciśniętym klawiszem Ctrl + kliknięcie lub kliknięcie środkowym przyciskiem, aby otworzyć je w nowej karcie.
Typowym przykładem są strony internetowe taleo HR http://www.rogers.com/web/Careers.portal?_nfpb=true&_pageLabel=C_CP&_page=9
Bez względu na to, co próbuję, mogę podążać za linkami, klikając je normalnie; Nie mogę ich otworzyć w nowym oknie. Czy jest na to jakiś sposób?
javascript
browser-tabs
hyperlink
kloneman
źródło
źródło
Odpowiedzi:
Twoje pytanie dotyczy Taleo, więc moja odpowiedź też będzie :)
Napisałem kod użytkownika, który robi to, co chcesz: zastępuje wszystkie łącza JavaScript zwykłymi linkami, więc możesz je kliknąć lub otworzyć w nowej karcie, jeśli chcesz.
Można go znaleźć tutaj: https://github.com/raphaelh/taleo_fix/blob/master/Taleo_Fix.user.js
źródło
Tak. Możesz pisać własne skrypty dla Greasemonkey (Firefox) lub Tampermonkey (Chrome)
W podanym przykładzie ten skrypt użytkownika Tampermonkey ustawi wszystkie łącza JavaScript w wynikach wyszukiwania, aby otwierały się w nowej karcie / oknie (zależy to od konfiguracji przeglądarki, to dla mnie zakładki).
Chociaż możesz napisać bardziej ogólne wersje tego, włączenie tej funkcjonalności dla wszystkich łączy JavaScript bez zerwania innej użyteczności będzie trudne.
Ścieżką pośrednią może być ustawienie modułu obsługi zdarzeń Ctrl, który tymczasowo ustawi cel WSZYSTKICH formularzy na „_blank”, o ile przytrzymany zostanie klawisz.
źródło
Oto kolejny skrypt użytkownika, który otacza dowolny element
onclick="document.location='some_url'"
atrybutem w<a href=some_url>
elemencie i usuwaonclick
.Napisałem go dla konkretnej witryny, ale jest on wystarczająco ogólny, aby mógł być użyteczny dla innych. Nie zapomnij zmienić adresu URL @match poniżej.
Działa to, gdy łącza są ładowane przez wywołanie AJAX, stąd MutationObserver.
źródło