Środkowe kliknięcie myszą nie zawsze otwiera linki w nowej karcie w Chrome

22

Używam środkowego przycisku myszy, aby otwierać linki w nowych kartach i zamykać karty.

Ale czasami kliknięcie środkowym przyciskiem myszy otwiera łącza w bieżącej karcie zamiast w nowej karcie. To nie jest przypadek - zauważyłem, że zwykle dzieje się to, gdy klikam łącza wyskakujące - takie jak miniatury lub łącza otwierające obraz w oknie wyskakującym (tak jak tutaj) .

Sprawdziłem i ten problem nie występuje w przeglądarce Firefox (14.0.1).
Moja wersja Google Chrome to 22.0.1229.94.

Dlaczego tak się dzieje?
Czy mogę zmusić środkowy przycisk myszy, aby zawsze otwierał łącza / obrazy w nowej karcie?

amiregelz
źródło

Odpowiedzi:

21

Dzieje się tak, ponieważ do łączy dołączony jest tak zwany skrypt lightbox . Więc jeśli aktywowałeś wykonywanie javascript (które jest domyślne w popularnych przeglądarkach), skrypt lightbox dołącza się do obrazów i otwiera je w schludnej przeglądarce na stronie. Ten skrypt wydaje się być zaprogramowany do reagowania na lewy i środkowy przycisk myszy (co zdecydowanie nie jest dobrym stylem).

Możesz spróbować kilku rzeczy:

  • Wyłącz javascript całkowicie lub dla pojedynczych stron (obecnie nie wydaje się to dobrym rozwiązaniem).
  • Użyj prawego przycisku myszy i wybierz Otwórz link w nowej karcie .
  • Zainstaluj rozszerzenie mini przeglądarki środkowego kliknięcia . Zapobiega ustawianiu obsługi zdarzeń środkowego przycisku myszy przez skrypty strony.
Daniel Calliess
źródło
1
środkowe kliknięcie mini jest świetne! Dzięki za link. Ale dlaczego domyślnie działa w przeglądarce Firefox? Mam zainstalowany javascript, a kliknięcie środkowym przyciskiem myszy w przeglądarce Firefox zawsze otwiera łącza w nowej karcie.
amiregelz,
1
Jak pisze picospuch w swojej odpowiedzi na twoje pytanie, może to zależeć od tego, jak przeglądarka obsługuje zdarzenia wejściowe myszy. Wygląda na to, że Firefox nie informuje skryptu na stronie o kliknięciach środkowych kliknięć myszą, a raczej sam obsługuje zdarzenie kliknięcia.
Daniel Calliess,
1
Mini kliknięcie środkowym kliknięciem rozwiązało problem na stronie, dzięki czemu szukałem odpowiedzi na ten problem.
Ten idiota
Pracował dla mnie na Chromium / Linux. Dzięki!
AtomHeartFather
3

Nie możesz Wynika to z innego procesu środkowego kliknięcia między firefoxem a chromem. Wiesz, że przeglądarka musi uruchamiać kod ze strony internetowej (jest to tak zwany javascript) i oczywiście od siebie. kod na stronie internetowej może najpierw uzyskać zdarzenie kliknięcia środkowego przycisku chrome. firefox może otworzyć nową kartę i nie przekazywać zdarzenia do strony internetowej. To zależy od implementacji przeglądarki. Myślę, że oboje mają rację.

BTW, zawsze możesz użyć, CTRL + clickaby otworzyć link w nowej karcie.

picospuch
źródło
Chociaż CTRL + kliknięcie jest dobre, jeśli masz problemy z samym środkowym przyciskiem, nie jest ono odporne na problemy z javascript opisane w innej odpowiedzi. Zobacz na przykład „linki” do komentarzy na temat googlechromereleases.blogspot.com, gdzie CTRL + kliknięcie uruchamia js (łącznie z nawigacją) na tej samej karcie.
Michael Urman,
2

Napisałem dodatek Chrome (i Firefox) o nazwie link-fixer, aby to naprawić. Możesz zainstalować z Chrome Web Store .

Przywraca spójne zachowanie klawiszy Ctrl + kliknięcie, Shift + kliknięcie, cmd + kliknięcie i kliknięcie środkowym kliknięciem.

Domyślne zachowanie klawiszy Ctrl + kliknięcie, Shift + kliknięcie, cmd + kliknięcie (w systemie macOS) i kliknięcie środkowym przyciskiem podczas klikania łączy polega na otwarciu łącza w nowej karcie lub nowym oknie.

To zachowanie jest czasem łamane przez nieostrożnych programistów.

Ten dodatek przywraca domyślne zachowanie, zapewniając, że klawisze modyfikujące zawsze powodują otwieranie łączy w nowej karcie.

Po zainstalowaniu kliknięcie środkowym przyciskiem i kliknięcie z wciśniętym klawiszem Ctrl (jak wspomniano w innych odpowiedziach) będzie działać tak, jak można oczekiwać we wszystkich witrynach.

danielnixon
źródło