Blokada przeciągania
Napisane: 28 września 2009, o 18:41
CZY ZNAJDĘ TAKI SKRYPT NA INNE PRZEGLĄDARKI?
Blokada przeciągania
Zablokowanie menu kontekstowego zabezpiecza przed bezpośrednim zapisaniem obrazka, ale nie uniemożliwia skopiowania go do innego okna przeglądarki, skąd bez problemu dokonamy zapisu. Otwieramy drugie okno Explorera, chwytamy obrazek myszą i przeciągamy go do tego okna. Gdy przeglądarka wyświetli grafikę, mamy już do dyspozycji menu kontekstowe... Podobny efekt uzyskamy przeciągając obrazek na pasek adresowy przeglądarki. Aby utrudnić tę operację, należy zablokować przeciąganie. Najprostszy, "bezskryptowy" sposób polega na objęciu obrazka linkiem prowadzącym do bieżącej strony:
1. <A HREF="#" STYLE="cursor: default;"><IMG
SRC="obrazek.jpg" BORDER="0"></A>
Przeciągnięcie tak opisanego obrazka do nowego okna otworzy w nim całą stronę, zamiast samej grafiki. Inny sposób to skorzystanie ze zdarzenia ondrag sygnalizującego przeciąganie. Rozbudowując poprzedni skrypt:
1. <IMG SRC="obrazek.jpg" ALT=""
oncontextmenu="window.event.returnValue=false;"
ondrag="window.event.returnValue=false;">
Tak opisany obrazek nie będzie reagował na próby przeciągania i nie da się nad nim rozwinąć menu kontekstowego.
Blokada przeciągania
Zablokowanie menu kontekstowego zabezpiecza przed bezpośrednim zapisaniem obrazka, ale nie uniemożliwia skopiowania go do innego okna przeglądarki, skąd bez problemu dokonamy zapisu. Otwieramy drugie okno Explorera, chwytamy obrazek myszą i przeciągamy go do tego okna. Gdy przeglądarka wyświetli grafikę, mamy już do dyspozycji menu kontekstowe... Podobny efekt uzyskamy przeciągając obrazek na pasek adresowy przeglądarki. Aby utrudnić tę operację, należy zablokować przeciąganie. Najprostszy, "bezskryptowy" sposób polega na objęciu obrazka linkiem prowadzącym do bieżącej strony:
1. <A HREF="#" STYLE="cursor: default;"><IMG
SRC="obrazek.jpg" BORDER="0"></A>
Przeciągnięcie tak opisanego obrazka do nowego okna otworzy w nim całą stronę, zamiast samej grafiki. Inny sposób to skorzystanie ze zdarzenia ondrag sygnalizującego przeciąganie. Rozbudowując poprzedni skrypt:
1. <IMG SRC="obrazek.jpg" ALT=""
oncontextmenu="window.event.returnValue=false;"
ondrag="window.event.returnValue=false;">
Tak opisany obrazek nie będzie reagował na próby przeciągania i nie da się nad nim rozwinąć menu kontekstowego.