CTRL tıklama neden bazı bağlantıları yeni bir sekmede açmıyor?


18

Bazen göz atarken, yeni bir sekmede açmak için bir bağlantıyı tıklatacağım. Ancak, yeni bir sekmede açmak yerine, geçerli sekmede tıklanır ve ctrl tuşunu basılı tutmadan normalde tıklamış gibi göz atılır. Ctrl'i tamamen basılı tuttuğum ve klavye veya fare ile ilgili bir hata olmadığından eminim.

Bazen, bağlantı ile yeni bir sekme açılır, ancak geçerli sekme aynı zamanda bağlantıya da göz atar.


3
Belki de "link" onclickctrl + tıklama ile karışabilecek bir işlem kullanıyor anlamında, gerçek bağlantılar değildir . Belirli bir örnek verebilir misiniz? meta.stackoverflow.com/questions/276138/…
imtheman

@imtheman Ancak, en azından gördüğüm örneklerde durum böyle görünmüyor. Bunu biliyorum, çünkü durum çubuğunda bir URL gösterdiğini doğrulamak için faremi her zaman önceden bağlantının üzerine getiriyorum. Bir örnek buradadır: nationaljournal.com/white-house/… Soldaki sütun / çubukta, diğer hikayelere bağlantılar, kaynaktaki konumlarına bile atlayarak doğrulanan kendi URL'leri gibi görünmektedir, ancak ctrl-tıklama yapmaz bunun yerine ctrl tutulmuyormuş gibi davranıyor.
29:14

Bu sitenin kaynak koduna bakarsanız, bağlantılardan biri için bunu görürsünüz:<a class="primary" href="/superuser//congress" onclick="var x=&quot;.tl(&quot;;s_objectID=&quot;http://www.nationaljournal.com/congress_1&quot;;return this.s_oc?this.s_oc(e):true">Congress</a>
imtheman

1
Bir hrefözniteliği olsa da , onclick olayı üzerine yazılır.
imtheman

1
Bu sorunu çözmek için bir Firefox eklentisi yazdım. github.com/danielnixon/link-fixer
danielnixon

Yanıtlar:


8

Sahne arkasındaki JavaScript

Bu, bu tür web sayfalarının geliştiricileri, fare tıklamalarını JavaScript ile yakaladığında ve engelleme içinde potansiyel olarak tıklamalarınızı izlemek için zamanuyumsuz ağ istekleri yaptığında gerçekleşir. Zaman uyumsuz ağ çağrısı geri döndüğünde, JS aşağıdakileri kullanarak programlı bir yönlendirme yapar:window.location.href = url;

Bu programlı yönlendirme, Ctrl( CmdMac'te) tuşunu basılı tutsanız bile sayfayı her zaman aynı sekmeye yükler .

Geçersiz kılmak için MiddleMouse kullanma

Farenizdeki orta düğmeyi tıklamak veya içerik menüsünden 'yeni bir sekmede aç' seçeneğini seçmek , yakalanan JavaScript kodunu tamamen atlayacak ve hiçbir JavaScript kodu yokmuş gibi bir bağlantı açacaktır.


Bu tamamen doğru değil. Bazı kod tasarımları, sayfayı yeni bir sekmede açmaya zorlayan alternatif bir tetikleyiciye izin verirken, diğer kod tasarımları bunu engeller. Bu, tipik "sayfaları" olmayan ve bunun yerine düğmeleri tıklatıldığında sayfaları oluşturan dinamik içeriğe sahip sitelerde daha yaygındır. Bu durumda, sayfada gerçek "bağlantılar" yoktur, daha çok bir uygulama gibi davranışı tetikleyen düğmeler bulunur.
music2mymar

6

Bunu düzeltmek için link-fixer adlı (sıkıcı) bir Firefox eklentisi yazdım . Addons.mozilla.org adresinden yükleyebilirsiniz . Firefox 48.0 veya üstünü gerektirir.

Kendimden alıntı:

Bağlantılara tıklarken ctrl + click, shift + click ve cmd + click'in varsayılan davranışı, bağlantıyı yeni bir sekmede veya yeni pencerede açmaktır. Bu davranış bazen dikkatsiz geliştiriciler tarafından bozulur. Bu eklenti, varsayılan davranışı geri yükleyerek değiştirici tuşlarına her zaman saygı gösterilmesini sağlar.

Kurulduktan sonra yapmanız gereken başka bir şey yoktur. Herhangi bir bağlantıya ctrl + tıklayabilirsiniz, yeni bir sekmede açılır. Ayrıca ikinci paragrafınızda açıkladığınız sorunun varyasyonunu da çözecektir.


1
Merhaba Daniel, buna hitap etmek için bir şey yazmış olsanız da , bir cevapta yazılımın , özellikle cesur parçaların nasıl önerileceğini ve cevabınızı güncelleyin lütfen okuyabilir misiniz ? Teşekkürler :)
bertieb

3

Bu bağlantıyı örnek olarak ele alalım:

<a href="test.php" onclick="someFunction(this); return false;">Test</a>

hrefNitelik, bu durumda, okunabilmesi için bir sözde bağlantısını (o da JavaScript devre dışı bırakılırsa bağlantı bile çalışmasını sağlayacak) yaratıyor. Bunun nedeni, onclicközelliğin her zaman önce çalışmasıdır. Google gibi büyük siteler, tıklamaları izlemek ve bir kullanıcının kötü amaçlı yazılım sitelerini ziyaret etmesini önlemek için bunu yapar. Bu nedenle, herhangi bir nedenle Ctrl+ Tıklama çalışmıyor. Ancak, farenizde orta düğmeyi kullanırsanız, bu neredeyse her zaman işe yarar.


1
Mac'te orta fare bulmaya çalışıyorum .
Eduard

Bu sorunu çözmek için bir Firefox eklentisi yazdım. github.com/danielnixon/link-fixer
danielnixon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.