Como os sites bloqueiam a seleção de texto e como desbloqueio isso?

70

Há um site ( exemplo ) que de alguma forma bloqueia a seleção de texto. Também bloqueia Ctrl + A para selecionar tudo, também não há “Copiar” no menu popup.

O que tentei:

Alguns sites usam JavaScript para bloquear a seleção. Por isso, desabilitei todas as fontes JavaScript no addon sem script no Firefox. Eu tentei o mesmo site no Google Chrome com o addon Script Safe. Certifique-se de que tudo está bloqueado, ainda não é possível selecionar o texto. Mousepointer continua sendo uma seta e não um cursor de texto também em todo o site.

Usou about:config para desativar completamente o JavaScript no Firefox. Ainda sem efeito.

Eu li que alguns sites usam DIVs com a exibição de estilo: block, então usei Inspect para examinar os estilos do site. Não há uma menção de "bloco" em todo o site, não em CSS incorporado nem em estilo de objeto = -atributos.

O texto não é uma imagem ou flash ou alguma tela HTML5, etc. Tudo está nas tags DIV e P, mas não foi encontrado nenhum estilo que possa bloquear a seleção de texto.

Como o site ainda pode bloquear qualquer seleção de texto? Sem mencionar por que os navegadores suportam tais comportamentos. Eu só quero usar uma palavra ou sentença selecionada e quero pesquisar no google usando o botão direito do mouse. É muito chato quando um site faz essas coisas e me obriga a digitar termos e nomes técnicos no Google manualmente. Isso perturba meu fluxo de trabalho.

    
por bxyify 05.01.2018 / 10:30

8 respostas

79

link mostra:

body{-webkit-user-select:none;-moz-user-select:-moz-none;
-ms-user-select:none;user-select:none}

Então, esse efeito se aplica a toda a tag BODY.

Documentação sobre este CSS: Site do Desenvolvedor Mozilla: user-select .

Você provavelmente poderia substituir isso removendo o estilo em Developer Tools (pressione F12 no Firefox ou Chrome) - você pode até mesmo criar um applet JavaScript que, depois de investir o tempo para definir isso pode remover esse estilo com menos esforço instantâneo de sua parte (o que pode economizar tempo se você planeja visitar o site várias vezes).

Também gostaria de adicionar esta observação: talvez essa não seja a única maneira de ter pelo menos um pouco desse efeito. Outra forma possível seria ter um DIV invisível cobrindo o DIV que tem o texto. Dessa forma, o cursor do mouse não se transformaria no feixe em I (cursor de texto), porque o cursor seria baseado no conteúdo do mais alto DIV . ( Ctrl - A provavelmente cobriria esse texto, no entanto.)

It's pretty annoying when a website does such things and forces me to type technical terms and names into google by hand. It disturbs my workflow.

Amém! Ao ver isso, estou decepcionado com a existência de tal estilo CSS sendo implementado pelos principais navegadores. Essas coisas são muito chatas, de fato!

    
por 05.01.2018 / 11:00
10

Abra as ferramentas do desenvolvedor (F12), mude para a guia Elementos e desmarque as seguintes regras CSS em body :

  • user-select: none;
  • webkit-user-select: nenhum;

    
por 05.01.2018 / 17:44
10

Como já foi dito, definir user-select: none no CSS da página é o que desabilita a seleção de texto em uma página. A maneira mais fácil de remover esse bloco de seleção de texto seria através de um script de usuário como o seguinte, que substitui a configuração:

// ==UserScript==
// @name         Force Select
// @version      1.0
// @description  Stop sites from disabling selection of text
// @author       You
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';

  let style = document.createElement('style');
  style.innerHTML = '*{ user-select: auto !important; }';

  document.body.appendChild(style);
})();

Observação: isso será aplicado a todas as páginas, se ativadas, o que pode não ser desejável em todas as situações.

O script pode ser instalado e ativado com um gerenciador de scripts de usuário, como Violentmonkey , Tampermonkey ou Greasemonkey .

    
por 05.01.2018 / 17:32
7

Com o Firefox, há uma maneira muito fácil:

View > Page Style > No Style

Em alemão:

Ansich > Webseiten-Stil > Kein Stil

Também funciona muito bem para baixar imagens incorporadas nas quais o clique com o botão direito do mouse foi desativado.

    
por 08.01.2018 / 10:04
2

Você pode pressionar Ctrl + P e pegar o que você precisa na pré-visualização.

    
por 09.01.2018 / 20:17
0

Eu prefiro usar " bookmarklets " para scripts de usuário ou extensões de navegador. Tente usar um do muitos bookmarklets para desativar o CSS & pegue o texto necessário

Como isso pode atrapalhar a legibilidade da página da Web, às vezes, abro a página em uma guia diferente (clique com o botão direito na guia, selecione Duplicar) antes de remover o estilo com o bookmarklet

Você também pode tentar o Bookmarklet do Google Mobilizer para visualizar apenas o texto das páginas da Web

    
por 06.01.2018 / 14:19
0

Como outras respostas afirmaram, tem a ver com o CSS no corpo das páginas. Embora você possa edite isso manualmente a cada vez, se você usar muito esse site, sugiro que, se usar o Google Chrome, instale o Extensão elegante.

Elegante permite criar anúncios adicionais CSS para aplicar às páginas. Pode ser usado em toda a web. Ele tem o benefício de aplicar automaticamente sempre que você visitar o site (para que você não precise adicioná-lo através das ferramentas de desenvolvimento em cada carregamento de página).

Uma vez instalado, clique no ícone na barra de ferramentas e selecione "Criar novo estilo". Ele irá criar automaticamente a entrada para o site que você está visitando no momento. Você pode então adicionar qualquer CSS que você goste na página. Mas esteja avisado: alguns estilos podem não ser exagerados (especialmente se estiverem escritos no próprio elemento, ao invés de uma classe CSS).

Nesse caso, você pode usar a função de importação e adicionar o código abaixo. Isso permitirá que você selecione o texto no site ao qual você está vinculado.

@-moz-document domain("www.angst-panik-hilfe.de") {
  body {
    -webkit-user-select: auto !important;
    -moz-user-select: inherit  !important;
    -ms-user-select: inherit  !important;
    user-select: auto  !important;
  }
}
    
por 08.01.2018 / 10:56
0

Várias das soluções propostas podem ser específicas do navegador, por isso vale a pena sugerir algumas alternativas:

  1. Use um broswer que te respeite mais.

    a. O Emacs tem navegadores emacs-w3m e eww que sempre permitirão selecionar um texto.

    b. Outros navegadores baseados em texto, como lynx , elinks e w3m , podem permitir que um selecione o texto, mas, mesmo que não, se estiver executando esses programas em uma janela de terminal, pode-se selecionar texto usando o mouse. E, se alguém estiver usando esses programas de dentro de tmux , pode-se usar a capacidade de tmux de copiar texto mesmo sem um mouse.

  2. Use uma ferramenta de linha de comando para baixar o URL inteiro em um formato de texto legível.

    a. w3m -dump [your_url] > your_file.txt

    b. %código%. Eu geralmente prefiro este porque ele marca hyperlinks como notas de rodapé legíveis!

por 12.01.2018 / 00:44