É possível impedir que o Javascript detecte o clique do meio do mouse?

3

Estou começando a perceber que mais sites estão começando a implementar a lógica Javascript, que é voltada para assumir o controle da minha experiência on-line. Uma das maneiras pelas quais eles estão fazendo isso é detectar cliques no botão do mouse para que os links sejam abertos em seu visualizador proprietário e não em uma nova guia.

Os dois que mais estão fazendo isso são Bing e Facebook e eu não gosto disso. Quando eu clico com o botão direito do mouse em uma imagem de uma pesquisa do Bing ou uma foto do álbum FB de alguém, a página da Web abre sua janela proprietária de estilo modal. No entanto, posso clicar com o botão direito no link e abri-lo em uma nova guia, mas prefiro o clique do meio. Além disso, alguns sites como o Instagram estão modificando o menu de contexto do botão direito para que você não possa salvar imagens (pelo menos não tão facilmente), então é apenas uma questão de tempo para que o Bing e o Facebook comecem a fazer algo semelhante. p>     

por oscilatingcretin 25.11.2013 / 01:32

1 resposta

0

Resposta curta: Não, mas porque não é isso que está acontecendo.

O comportamento que você está experimentando não é o que você pensa. Seu navegador usa o clique do meio para abrir links em uma nova guia, mas isso ainda é interpretado pelo site como um clique. O site não está realmente ciente de que você está tentando abrir algo em uma nova guia, então ele faz o que normalmente faria por um clique.

Quando você clica em uma imagem no Facebook e ela aparece em uma caixa preta, você não abriu uma nova página, em vez disso, acabou de abrir outra parte da que você já estava usando. O clique do meio não mudará isso, pois isso é parte integrante da maneira como a página funciona. O clique do meio ainda pode abrir uma página em uma nova guia, mas esta é a mesma página que você já estava, e não uma nova página.

Esse é um padrão de design mais recente, muitos sites tentam reduzir as cargas de página exibindo conteúdo em uma página e buscando dinamicamente novo conteúdo (usando uma técnica chamada AJAX) e repopulando a página usando JavaScript. Um site como este tem uma experiência de usuário mais fluida e, para a maioria das pessoas, será mais fácil de usar.

Então você pode desabilitar isso? Tecnicamente ... sim, um script de usuário complexo poderia separar a página e refazê-la da maneira que você deseja. Mas isso é muito trabalho sem muito benefício. Os desenvolvedores de sites dedicam muito tempo a fazê-lo funcionar da maneira que faz, você essencialmente precisa reescrever todo o front-end para fazê-lo se comportar da maneira que você está descrevendo. Novamente, este não é o site subvertendo a ação do navegador de qualquer forma, o site não está fazendo nada de errado. O que está acontecendo é que muitos sites agora estão sendo projetados de uma forma que não se encaixa no padrão de uso com o qual você está familiarizado. Você pode tentar desabilitar o JavaScipt completamente, mas é mais provável que ele torne o site inutilizável do que útil. A maioria dos grandes sites tenta garantir que eles não quebrem quando você faz isso, mas não há garantias.

Agora eu disse que o site não sabe qual botão você clicou, isso é geralmente verdadeiro, mas é possível que o site descubra. Esta pergunta do Stack Overflow aborda o como: Como detectar o clique do botão do meio do mouse A resposta básica é que, quando um evento de clique é acionado, as informações sobre qual botão foi clicado estão disponíveis e podem ser usadas para determinar como lidar com o evento. Mas os sites mais não usam essa informação, aqueles que são mais prováveis jogos ou outros tipos especiais de conteúdo interativo.

    
por 25.11.2013 / 03:18