forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JavaScript / HTML (http://forum.boolean.name/forumdisplay.php?f=136)
-   -   Обработчик события oncopy (http://forum.boolean.name/showthread.php?t=14106)

JeanWinters 24.01.2011 19:16

Обработчик события oncopy
 
Код:

<SCRIPT LANGUAGE="JavaScript">
document.oncopy = test();
 function test() {
return false
}
</SCRIPT>

Этот обработчик возникает при копировании содержимого в буфер обмена. Хотел сделать для небольшой защиты от копирования, но не работает для IE , как можно в нем реализовать?

HAMANN 24.01.2011 20:05

Ответ: Обработчик события oncopy
 
Ну если не париться, то в боди атрибут добавь.
PHP код:

<body oncopy="return OnCopy(event)"

а так вот: http://help.dottoro.com/ljwexqxl.php

HAMANN 24.01.2011 20:16

Ответ: Обработчик события oncopy
 
PHP код:

window.onload = function() {
    
window.document.body.attachEvent("oncopy"OnCopy);
};


function 
OnCopy(e) {
     
e.returnValue false;
}; 

это чисто для IE

JeanWinters 25.01.2011 16:43

Ответ: Обработчик события oncopy
 
Как можно сделать такую защиту для "Opera"?

ABTOMAT 25.01.2011 22:20

Ответ: Обработчик события oncopy
 
Блин опоздал с IE
Цитата:

Сообщение от JeanWinters (Сообщение 176818)
Как можно сделать такую защиту для "Opera"?

Практиковал успешно вот такие методы: http://habrahabr.ru/blogs/webdev/18080/
Ламер, наверное, не догадается, как текст скопировать, если он не выделен. Хотя, мне кажется, таким образом (равно как и oncopy) защищать от копирования сайт - только время терять.
Правда у нас на Оперу не ориентируются, так что обошлись только css'ом, хаков для неё делать не стали.

moka 26.01.2011 00:43

Ответ: Обработчик события oncopy
 
Плюс нужно париться с пред-загрузкой используя Ajax, и выводом текста через скрипт. Но снова, открывая исходник, мы видим линку на которую идёт запрос, и тупо следуем туда (ну или можно для сессии сделать id, который будет одноразовым).
Также в Opera, как и в FireFox (с плагинами), есть дебаггеры всякие, с которыми можно просто остановить исполнение скрипта в любой момент.

ABTOMAT 26.01.2011 12:00

Ответ: Обработчик события oncopy
 
Цитата:

Сообщение от MoKa (Сообщение 176876)
Плюс нужно париться с пред-загрузкой используя Ajax, и выводом текста через скрипт. Но снова, открывая исходник, мы видим линку на которую идёт запрос, и тупо следуем туда (ну или можно для сессии сделать id, который будет одноразовым).
Также в Opera, как и в FireFox (с плагинами), есть дебаггеры всякие, с которыми можно просто остановить исполнение скрипта в любой момент.

Да просто посмотреть содержимое элемента в данный момент и всё.

JeanWinters 26.01.2011 14:10

Ответ: Обработчик события oncopy
 
А есть какой-нибудь способ, чтобы перехватить нажатие сочетаний клавиш пользователем или запретить?
Вариант с запрещением выделения текста не подходит, нужно обязательно, чтобы текст можно было выделять, но нельзя было копировать. Хочу попробовать для "Opera" запретить (или обнулить) нажатие клавиш для копирования и вызов контекстного меню при выделенном тексте. Возможно ли такое?

cyberblut 26.01.2011 15:05

Ответ: Обработчик события oncopy
 
По-моему это эпический дроч на пустом месте :) Ну нахера эта защита? Что ты потеряешь если текст скопируют? :) Самое адекватное решение - писать сноску, мол копирование тока с согласия автора. Адекватные люди спрашивают согласия, неадекватные в любом случае скопируют, что им надо. В каком нормальном проекте такая защита используется?

JeanWinters 26.01.2011 15:12

Ответ: Обработчик события oncopy
 
Ну мне, значит, нужно. Я бы зря не спрашивал, правильно? Это на первый взгляд кажется, что кругом "адекватные люди", а я уверен, что этот текст обязательно скопируют и уверен в том, что процент копирующих не особо будет вникать в технологии защиты. Просто скопируют, чтобы тупо наполнить контент своего сайта на движке.

ABTOMAT 26.01.2011 15:29

Ответ: Обработчик события oncopy
 
Цитата:

Сообщение от JeanWinters (Сообщение 176909)
А есть какой-нибудь способ, чтобы перехватить нажатие сочетаний клавиш пользователем или запретить?
Вариант с запрещением выделения текста не подходит, нужно обязательно, чтобы текст можно было выделять, но нельзя было копировать. Хочу попробовать для "Opera" запретить (или обнулить) нажатие клавиш для копирования и вызов контекстного меню при выделенном тексте. Возможно ли такое?

Нажатия системных клавосочетаний из JS не обрабатываются (не во всех браузерах вот тут пацанчик написал инструкцию, но у меня не работает http://www.arraystudio.com/as-worksh...avascript.html ).
Кстати все твои "старания" обходятся при помощи отключения javascript'а в настройках :) Некоторые параноики, кстати, и сами его отключают по умолчанию. Проблема не в том, адекватные люди будут пытаться копипастить, или нет, а в том что даже последний школьник сможет защиту обойти.
Кстати видел на каком-то сайте отключение правой кнопки мыши, вот это уже более действенно, хотя я бы за это уже дал по щам.

Насколько я смог нагуглить, oncopy отсутствует в Опере в принципе. Попробовал посмотреть в справке к jQuery, т.к. там часто функции, которые делают одно и то же, но в разных браузерах вызываются по-разному, приведены к одному интерфейсу, но и там ничего подобного не оказалось. Дальше гуглить стало лень.

В-общем, если уж так упрямо надо - гугли, здешние сайтостроители такой проблемой не заморачивались, а, значит, больше того, что скажет гугол, сказать нам нечего.

SBJoker 26.01.2011 15:53

Ответ: Обработчик события oncopy
 
Учитывая что страничка уже у пользователя на компе, то тут бесполезно рыпаться.

cyberblut 26.01.2011 16:24

Ответ: Обработчик события oncopy
 
Цитата:

Сообщение от JeanWinters (Сообщение 176916)
я уверен, что этот текст обязательно скопируют и уверен в том, что процент копирующих не особо будет вникать в технологии защиты. Просто скопируют, чтобы тупо наполнить контент своего сайта на движке.

Какую бы ты защиту не сделал, скопировать контент всё равно можно! Ты же и сам прекрасно понимаешь. :) Скопируют 2 прошареных товарища и разместят на своих сайтах БЕЗ защиты, а у них ещё по 2 скопируют и т.д.
Защита в вебе - бред полнейший! Особенно в пост-советских реалиях.

JeanWinters 26.01.2011 17:32

Ответ: Обработчик события oncopy
 
"Скопируют 2 прошареных товарища" - это типа намек? :-)
Ладно, все равно благодарю за "участие в программе". Говорят можно текст сделать картинкой!

ABTOMAT 26.01.2011 18:23

Ответ: Обработчик события oncopy
 
Цитата:

Говорят можно текст сделать картинкой!
И получить неиндексируемость поисковыми системами?


Часовой пояс GMT +4, время: 13:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot