Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] blokowanie zaznaczonego tekstu a co za tym idzie - jego kopiowanie
Forum PHP.pl > Forum > Po stronie przeglądarki
qrcze_pieczone
Witam
Wiem że ten temat był wałkowany na tym forum setki razy i że jak ktoś ma trochę umiejętności jest w stanie obejść wszystkie zabezpieczenia związane z blokowanie możliwości kopiowania tekstu ze strony, i mimo tej wiedzy chcę użyć tego rozwiązania.
Znalazłem takie rozwiązanie

function rf() {
return false};
document.onselectstart=rf;
document.ondragstart=rf;
</script>" title="Zobacz w manualu PHP" target="_manual



Rozwiązanie to działa ale tylko pod IE, pod FF i Operą nie działa.
Jak by ktoś miał jakąś cenną uwagę jak ten problem rozwiązać to będę bardzo dzwięczny
Pozdrawiam
wipo
<body onselectstart="return (event.srcElement.tagName=='INPUT' || event.srcElement.tagName=='SELECT');" onmousedown="return (event.target && (event.target.tagName=='INPUT' || event.target.tagName=='SELECT'));">
po czyms takim mozesz tylko zaznaczac dane w polach input i select
xarr
Jest jeszcze opcja z CSS3:
  1. -moz-user-select: none;


Dla Opery pewnie trzeba by przezroczystystym gifem zadziałać, albo może zablokować poprostu zdarzenie onmousedown? (patrz post wipo)


Btw. tak z ciekawości, po co chcesz uzyskać ten efekt? Wydajesz się stosować go z premedytacją mimo tego, że wiesz o jego ułomności i odruchu wymiotnym jaki się ma podczas napotykania tego typu "wynalazkow" na www?
qrcze_pieczone
Cytat(xarr @ 21.04.2007, 18:35:32 ) *
Btw. tak z ciekawości, po co chcesz uzyskać ten efekt? Wydajesz się stosować go z premedytacją mimo tego, że wiesz o jego ułomności i odruchu wymiotnym jaki się ma podczas napotykania tego typu "wynalazkow" na www?

Odpowiedz jest prosta "bo klient tak chce"
Mimo moich wielu tłumaczeń że i tak to nic nie da, klient chce aby takie rozwiązanie zastosować "a klient to nasz pan " on za to płaci więc szukam rozwiązania tego problemu.
Zostanie to zastosowane w bazie do której ma dostęp max 15 ludzi i chodzi o to aby mieli jak największe trudności z ewentualnym kopiowaniem danych.


wipo dzięki za podpowiedz, nie można zaznaczyć tekstu myszką,
ale można jeszcze pod FF i Operą użyć skrótu klawiszowego CTRL-A aby zaznaczyć cały tekst
Jeszcze jak by ktoś znał na to rozwiązanie, jak to wyeliminować to temat można uznać za zakończony smile.gif
Pozdrawiam
wipo
CTRL-A nie wiem jak zablokować, ale:
jak ktoś będzie chciał skopiować sobie te dane to i tak skopiuje podglądająć źródło strony, więc nie widze w tym celu
qrcze_pieczone
dzięki pbnan za ten adres to jest bardzo ciekawe
a rozwiązanie problemu ze skrótami klawiszowymi jest bardzo proste wręcz nawet bardzo banalne
  1. <body onkeypress="return false">

i tyle snitch.gif
pozdrawiam
gekon
Tyle, że nie będzie można wpisywać tekstu do pól formularza.
wipo
To zastosuj ten warunek return (event.target && (event.target.tagName=='INPUT' || event.target.tagName=='SELECT'));"
mike
Co jest z Wami? Kolejny marzyciel, który zablokuje coś na WWW MEGAROTFL
Godzicie w jedne z podstawowych reguł accessibility i usability. Blokowanie takich funkcji to paranoja bo nic nie daje.
Jeśli wyświetlasz treść to nie masz żadnych szans na zablokowanie kopiowania wszystko jest do obejścia i to w baaaaardzo banalny sposób.

Niczego nie uchronisz a utrudniasz tylko przeglądanie stron.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.