Evitar que o Chrome abra links de ancoragem na mesma guia, quando clicado com o botão do meio do mouse

1

Tenho notado uma mudança recente na forma como o Chrome para Windows lida com links com o botão do meio (roda) do mouse, quando o destino do link (URL) aponta para o mesmo site.

Por muitos meses (anos?) clicando em qualquer link com o botão do meio do mouse, sempre abra t em uma nova guia. Ele agia como selecionando Abrir link em nova aba no menu de contexto. Esse comportamento era permanente e acontecia sempre, independentemente do link de URL de destino.

Recentemente, notei uma mudança. Quando o endereço do link aponta para o mesmo site (link ancorado), o Chrome sempre o abre na mesma guia, mesmo se o usuário clicar nesse link com o botão do meio do mouse (forçar nova guia).

Alguém sabe, se a alteração descrita acima for permanente e se houver alguma maneira de prefá-la (para voltar ao comportamento "antigo", em que todos os links clicados pelo meio foram abertos em uma nova guia)?

EDITAR : Caso resolvido (com a instalação de uma extensão proposta em uma resposta). Para referência futura e para pessoas que procuram um exemplo vivo - aqui está um dos muitos (Referência de Classe do Yii Framework):

1. Visite a definição de classe CDbColumn .

2. Clique com o botão do meio no link queryScalar no final do terceiro parágrafo (sinta-se à vontade para testar outros).

3. Alterne para a guia aberta e clique com o botão direito do mouse no link query no único parágrafo abaixo da tabela de propriedades.

Todos os links são links internos / ancorados, todos apontando para o mesmo (próprio página. Sem a "correção" da extensão instalada, o primeiro link ( CDbColumn ) é aberto em nova guia, enquanto o segundo ( queryScalar ) na mesma guia.

Para tornar as coisas ainda piores, analisei o código fonte de cada um dos links mencionados, para ver, se o problema apresentado não for causado por algum erro / alteração no código HTML. O código para os dois links é o mesmo :

<a href="/doc/api/1.1/CDbCommand#queryScalar">queryScalar</a>

<a href="/doc/api/1.1/CDbCommand#query">query</a>

Então, isso é claramente um bug no Chrome.

    
por trejder 08.04.2014 / 10:13

2 respostas

1

De acordo com o este tópico e o bug tracker com o qual ele é vinculado, parece ser um problema com o modo como os eventos onclick do Chrome / Webkit lidam com o clique do meio.

E, acredite ou não, na verdade existe uma extensão que supostamente corrige esse bug (mesmo que o Google ainda não consiga resolvê-lo em cinco anos). Eu só testei isso brevemente, mas parece funcionar.

    
por 08.04.2014 / 22:17
0

Isso pode ou não ser um bug no Chrome, mas o site definitivamente está fazendo algo fora do padrão.

Como o relatório de bugs vinculado em a resposta da Cybertox menciona esse comportamento indefinido / inconsistente do evento "click" do Javascript quando o botão do meio do mouse é usado para clicar em um alvo.

O site que você mencionou na sua pergunta está usando algum Javascript para alterar o alvo da âncora. Observe que quando você passa o mouse ou olha para a fonte do link "consulta", o destino é #query ; no entanto, se você clicar no link e examinar sua barra de endereço, o hash será #query-detail .

Você notará que os links âncora do meio-termo estão em um site que faz isso corretamente (como a documentação do VirtualBox ) funciona muito bem. Você pode querer notificar o dono do site sobre o bug em seu código.

    
por 09.04.2014 / 17:03