Web siteleri metni seçmeyi nasıl engeller ve bunun engelini nasıl kaldırabilirim?


74

Bir şekilde metni seçmeyi engelleyen bir web sitesi ( örnek ) var. Ayrıca her şeyi seçmek için Ctrl+ engeller A, ayrıca açılır menüde “Kopyala” yoktur.

Ne denedim:

Bazı siteler seçimi engellemek için JavaScript kullanır. Bu yüzden Firefox'ta script içermeyen tüm JavaScript kaynaklarını devre dışı bıraktım. Aynı siteyi Google Chrome'da Komut Dosyası Eklentisi ile denedim. Her şeyin engellendiğinden emin olun, yine de metni seçemezsiniz. Fare işaretçisi ok üzerinde kalır ve tüm sitede bir metin imleci değildir.

about:configFirefox'ta JavaScript'i tamamen devre dışı bırakmak için kullanılır . Hala etkisiz.

Bazı sitelerin DIV'leri stil ekranıyla kullandığını okudum: blok, böylece sitenin stillerini incelemek için Denetleme kullandım. Sitenin tamamında gömülü CSS'de veya nesne stilinde =-özniteliklerde "blok" un tek bir ifadesi yoktur.

Metin bir resim veya flaş ya da bazı HTML5 tuval vb. Değildir. Her şey DIV ve P etiketlerinin içinde ancak metin seçimini engelleyebilecek bir stil bulunamadı.

Web sitesi hala herhangi bir metin seçimini nasıl engelleyebilir? Tarayıcıların neden bu tür davranışları desteklediğinden bahsetmiyorum bile. Sadece seçilen bir kelimeyi veya cümleyi kullanmak ve sağ fare tıklamasıyla google'da arama yapmak istiyorum. Bir web sitesi böyle şeyler yaptığında ve beni teknik terimleri ve isimleri elle google'a yazmaya zorladığında oldukça sinir bozucu oluyor. İş akışımı rahatsız ediyor.


8
"Nasıl metin işaretleme siteleri blok yapmak" - Onlar set style.userSelectiçin none.

2
@ Xen2050 Çoğunlukla metin kopyalamayı umursamıyorum. Sadece bir tıklamayla cümleleri ve terimleri işaretlemeyi ve Google’da arama yapmayı çok seviyorum (iki kat kelime, sağ tıklama "Google’da Ara ..."). Kaynağa girebilirim (eğer temiz bir kaynaksa) ve kelimeyi tarayabilir, kopyalayabilir, Google’a yapıştırabilirim ama bunun bir sıkıntı olduğunu söylediğim gibi. Yine de web sitenizin metnini kopyalamak isteyen 1 kişi bunu yapabilir, ancak sadece rahat bir iş akışı isteyen biri engellenir.
user6329530

122
Bunun için iyi bir güvenlik önlemi olduğunu düşünen tüm hayal kırıklığı yaratan web geliştiricileri için biraz zaman alabilir ve sempati duyabilir miyiz?
MCMastery

3
Artık uygulamanın ne kadar yaygın olduğunu bilmiyorum, ancak metnin kopyalanmasını önlemek için tüm sayfayı kaplamak için uzatılmış, tek piksellik bir görüntünün birkaç örneği boyunca koştuğumu hatırlıyorum. her yerde yanıp sönen metinle birlikte tek boynuzlu at yıldızları ...
RIanGillis

27
@MCMastery Veya daha kötüsü, bunun korkunç olduğunu bilen geliştiricilerin bunu yapmaları gerektiği söyleniyor. Çoğu zaman içeriği çalan insanlar için endişeleniyorlar. Öyleyse, SO gibi siteler her zaman hurdaya / çalınmaya başlandı ... ... ama ticari olarak uygun. Kullanıcı tabanınızı yabancılaştırmanın iş için kötü olduğu ortaya çıktı. Kim düşünebilirdi ki ?!
corsiKa

Yanıtlar:


81

https://www.angst-panik-hilfe.de/angst-panik.css şunları gösterir:

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

Bu nedenle, bu etki BODY etiketinin tamamı için geçerlidir.

Bu CSS Dokümantasyonu: Mozilla Geliştirici Sitesi: user-select .

Geliştirici Araçları'ndaki stili kaldırarak bunu geçersiz kılabilirsiniz ( F12Firefox veya Chrome'da basın ) - Bunu ayarlamak için zaman harcadıktan sonra, bu stili daha az çabayla çabucak kaldırabilecek bir JavaScript uygulaması oluşturabilirsiniz. Sizin bölümünüz (siteyi birçok kez ziyaret etmeyi planlıyorsanız zaman tasarrufu olabilir).

Bu notu da eklemek isterim: Bu etkinin en azından bir kısmına sahip olmanın tek yolu bu olmayabilir. Başka bir olası yol , metnin olduğu görünmez bir DIVkapağa sahip olmak olabilir DIV. Bu şekilde, fare imleci I-ışınına (metin imleci) dönüşmez çünkü imleç en üstteki içeriğe dayanır DIV. ( Ctrl- Amuhtemelen bu metni de kapsayacaktır.)

Bir web sitesi böyle şeyler yaptığında ve beni teknik terimleri ve isimleri elle google'a yazmaya zorladığında oldukça sinir bozucu oluyor. İş akışımı rahatsız ediyor.

Amin! Bunu gördükten sonra, büyük tarayıcılar tarafından uygulanan böyle bir CSS stilinin varlığından dolayı hayal kırıklığına uğradım. Bu tür şeyler gerçekten oldukça can sıkıcı!


61
user-selectSorumlu uygulandığında CSS stil oldukça yararlıdır. Örneğin, (özellikle daha eski) kullanıcıları dokunmatik ekran üzerinde etiket metninin yanındaki düğmelere tıklayarak görmek istiyorsanız, düğmesine tıklamak yerine etiket metnini işaretlemelerini istemezsiniz.
phihag

14
Ne demek "varsayılan"? Bu ayar yalnızca web sitesi özel olarak etkinse etkinleştirilir, bu benim için "varsayılan" gibi görünmez. Kötü web tasarımcıları tarafından kötüye kullanılabilen özellikler her zaman olacaktır, bu özellikleri kullanmak için meşru bir nedeni olanları olumsuz yönde etkilemeden bunu önlemek için yapabileceğiniz pek bir şey yoktur ...
Sean Burton

11
@SeanT Yine, tarayıcı web sayfalarına bakan kişiye hizmet vermek için mevcutsa, işi web sunucusunun gönderdiği kişiye yanıt verir, ancak kullanıcı ona söyler. Kullanıcı sayfayı kapatmasını, açılır pencerelere izin vermemesini veya metni kopyalamasını söylerse, tarayıcı bunu yapmalıdır.
Toplama

8
Hiçbir tarayıcı kullanıcısı, tarayıcısını, bunun gibi bir özelliği açıkça etkinleştirmek için yapılandırmanın zahmetine girmeyecek, eğer varsayılan olarak etkin değilse, o zaman aslında işe yaramaz ve hiç uygulanmayabilir. Ve her özelliğin kullanıcı tarafından açıkça etkinleştirilmesi gerektiğini düşünüyorsanız, çizgiyi nerede çizersiniz? Bir web sitesinin görüntüleri gösterebilmesi için kullanıcının "görüntüler" özelliğini etkinleştirmesi gerekir mi? Kullanıcı istediği tüm özellikleri etkinleştirinceye kadar tüm tarayıcıların temelde varsayılan olarak Lynx olması gerekir mi?
Sean Burton,

13
@Akümülasyon Kullanıcı seçimi: none özelliği, bir web sayfasının stilini korumak için her yerde kullanılır; örneğin, açılır listelerden bir seçenek seçerken çirkin bir mavi arka planı durdurmak. Siz sadece farketmediniz, çünkü doğru bir şekilde uygulandı. Buradaki sorun, kullanıcı için kısıtlayıcı bir şekilde uygulanmış olması ve bir tarayıcının bu ikisi arasında ayrım yapmasının bir yolu olmamasıdır. Bu nedenle, dev's :) suçluyor
Sean T

11

Daha önce de belirtildiği gibi, user-select: nonesayfanın CSS ayarını yapmak sayfadaki metin seçimini devre dışı bırakan şeydir. Bu metin seçim bloğunu kaldırmanın en kolay yolu, ayarı geçersiz kılan aşağıdaki gibi bir kullanıcı betiğinden geçer:

// ==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);
})();

Not: Bu, etkin durumda bırakıldığında her durumda geçerli olacaktır; bu, her durumda istenmeyebilir.

Betik kurulabilir ve Violentmonkey , Tampermonkey veya Greasemonkey gibi bir kullanıcı betiği yöneticisi ile açılıp kapatılabilir .


9
Kullanıcı komut dosyaları eklemek için 'greasemonkey' gibi bir uzantıya ihtiyacınız olabilir.
Stilez,

1
This will apply to every page if left enabled, which might not be desirable in all situations.Yalnızca URL'yi belirli bir siteyle veya bir site dizisiyle eşleştiriyorsa, betiği çalıştıran bir if ifadesine yalnızca işlevi yerleştiremez misiniz?
Hashim

1
@Hashim Bu gerekli değildir; Bir veya daha fazla @matchifadeyle hangi sayfalara uygulanacağını belirleyebilirsiniz , ancak yalnızca belirli bir siteyi veya her zaman değiştirmek istediğiniz bir dizi siteyi ziyaret etmediğiniz sürece, komut dosyasının belirli bir sayfaya uygulanmasını istediğinizde değiştirilmesini gerektirir. Örnek komut dosyası *://*/*için, eşleşecek URL olarak kullanarak bunu genel yaptım , böylece her yere uygulanacak. Kullanıcı komut dosyası yöneticisi menüsünden açılıp kapatılabilir.
Herohtar

10

Geliştirici araçlarını (F12) açın, Elements sekmesine gidin ve body altındaki aşağıdaki CSS kurallarını kaldırın :

  • kullanıcı seçimi: yok;
  • webkit-user-select: yok;

Demo Görüntüsü


7

Firefox ile gerçekten kolay bir yol var:

View > Page Style > No Style

Almanca'da:

Ansich > Webseiten-Stil > Kein Stil

görüntü tanımını buraya girin

Ayrıca, sağ tıklamanın devre dışı bırakıldığı gömülü görüntüleri indirmek için de harikadır.


1
Yeap, IE11'de de çalışıyor.
Marco Demaio


3

Stylus'u kullanıyorum ( https://add0n.com/stylus.html ) ve tüm web sitelerine uygulanacak bir stil oluşturdum ve böylece her şeyin seçilebilmesini sağlıyorum:

* {
  -webkit-user-select: auto !important;
  -moz-user-select: inherit  !important;
  -ms-user-select: inherit  !important;
  user-select: auto  !important;
}

Yıldız, stilin sadece belirli bir css elemanına (gibi <body>) değil tüm elemanlara da uygulandığından emin olmak içindir . Seçim engellemenin yalnızca bir düğme metnine uygulandığı durumlarla karşılaştım, bu nedenle bir css yapmak <body>yardımcı olmaz.

Seçimi yabancı dil web sitelerinde anında çeviri için kullanıyorum.


Satır içi <body>etiketinin biçimlendirmesini ve görünürlüğünü düzelttim ; bkz superuser.com/help/formatting
Arjan

0

Kullanıcı komut dosyalarına veya tarayıcı uzantılarına " yer imleri " kullanmayı tercih ederim . CSS’yi devre dışı bırakmak ve gereken metni almak için birçok yer iminden birini kullanmayı deneyin.

Web sayfasının okunabilirliğini bozabileceğinden, stilleri yer imi ile kaldırmadan önce sayfayı farklı bir sekmede açıyorum (sekmeye sağ tıklayın, Çoğalt'ı seçin).

Web sayfalarının yalnızca metnini görüntülemek için Google Mobilizer Yer İşareti'ni de deneyebilirsiniz


0

Diğer cevapların da belirttiği gibi, sayfaların gövdesi üzerinde CSS ile ilgisi var. Eğer iken yapabilirsiniz elle her zaman bu düzenleme bu siteyi çok kullanırsanız, ben Chrome kullanıyorsanız, yüklemek öneririm Şık uzantısı.

Şık , sayfalara uygulamak için ek CSS oluşturmanıza olanak sağlar. Tüm web'de kullanılabilir. Web sitesini her ziyaret ettiğinizde otomatik olarak uygulama avantajına sahiptir (bu nedenle, her sayfa yüklemesinde geliştirme araçları aracılığıyla eklemeniz gerekmez).

Kurulduktan sonra araç çubuğundaki simgesine tıklayın ve "Yeni Stil Oluştur" u seçin. O anda ziyaret ettiğiniz web sitesi için girişi otomatik olarak oluşturur. Daha sonra sayfaya istediğiniz herhangi bir CSS ekleyebilirsiniz. Ancak uyarılmalıdır: bazı stiller geçersiz kılınabilir olmayabilir (özellikle bir CSS sınıfı yerine öğenin üzerinde yazılmışsa).

Bu durumda, içe aktarma işlevini kullanabilir ve aşağıdaki kodu ekleyebilirsiniz; bu, bağlantılı olduğunuz web sitesindeki metni seçmenize izin verir.

@-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;
  }
}

Yalnızca firefox'ta çalışacak bir şey için webkit ve ms önekleri eklemek biraz ... gereksiz.
Stephan Bijzitter

@StephanBijzitter Doğru, sadece sayfada zaten kullanıcı seçimi ile ilgili tüm stillerin üzerine yazdım. Fakat yine de, krom kullanmayan ancak benzer bir uzantıya sahip birinin bu sınıfı kolayca kopyalayabileceği ve aynı yararı işsiz elde edebileceği anlamına gelir - ve gerçekten çözüme zarar vermez.
Obsidian Anka

0

Önerilen çözümlerin birçoğu tarayıcıya özel olabilir, bu nedenle birkaç alternatif önerebilir:

  1. Size daha çok saygı duyan bir broswer kullanın.

    a. Emacs tarayıcılara sahiptir emacs-w3mve ewwbu her zaman birisinin metin seçmesine izin verir.

    b. Diğer metin tabanlı gibi tarayıcılar lynx, elinksve w3m, bir metni seçmek için izin verebilir, böyle olmasa bile bir terminal penceresinde bu programları çalıştıran, eğer bir kişinin fareyi kullanarak metni seçebilirsiniz. Ve eğer biri bu programları içeriden kullanıyorsa tmux, bir tanesi tmuxfare olmadan bile metin kopyalama özelliğini kullanabilir .

  2. URL'nin tamamını okunabilir bir metin biçiminde indirmek için bir komut satırı aracı kullanın.

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

    b. lynx -dump [your_url] > your_file.txt. Bunu genellikle tercih ederim çünkü köprüleri okunabilir dipnotlar olarak işaretler!


0

Diğer No Script AddOns'un yapamayacağı her şeyi mümkün kılan AddOn "Mutlak Sağ Tıkla ve Kopyala" seçeneğini yükleyin.


0

Sadece aşağıdaki css stilini yaratın :

html, body {
    user-select: text;
}

İstediğiniz herhangi bir web sitesine bu (veya başka herhangi bir) css kodunu yerleştirmenize izin veren Stylish isimli bir eklenti vardır . Sadece yukarıdaki css kodunu girin ve hangi siteye uygulanmasını istediğinizi ve hangi sitelere gitmek istediğinizi söyleyin. Bu eklenti Chrome, Baidu, Firefox ve Opera'da çalışır. Eğer IE'de olursanız, şansınız kalmaz. Ama sen zaten biliyorsun değil mi?

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.