Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Защита от копирования не работает в Moziila Firefox, как исправить?

Защита от копирования не работает в Moziila Firefox, как исправить?


     28.09.2016    Общие вопросы, jQuery    2183

вопрос
Использую данный код:
<script type="text/javascript">
document.ondragstart = noselect;
document.onselectstart = noselect;
document.oncontextmenu = noselect;
function noselect() {return false;}
</script>


Во всех браузерах работает как надо, но в Mozilla Firefox можно выделять текст, как запретить?

Ответил: Iceman


1 вариант и 2 вариант все работает, проверял лично и тот и тот.

12 комментариев

ZeN41k
Юзер

ZeN41k - 28 сентября 2016 15:04 -

Также нашел аналогичный код, который работает в мозилле:
<script type="text/javascript">
function disableSelection(target){
if (typeof target.onselectstart!="undefined")
    target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined")
    target.style.MozUserSelect="none"
else
    target.onmousedown=function(){return false}
target.style.cursor = "default"
}

if (document.getElementById("noselect")) {
disableSelection(document.getElementById("noselect"));
}
    </script>


Как из него выдернуть нужное и добавить в мой код?

irrwisch
Юзер

irrwisch - 28 сентября 2016 15:24 -

Такая защита от копирования ни только в FF не работает, но и в любом другом браузере она не работает, так как если захотят скопировать что-то, откроют исходный код страницы вписав в окне браузера перед ссылкой "view-source:" и скопируют всё что нужно. Так что не страдайте хернёй и не грузите сайт лишним js'ом. ИМХО

ZeN41k
Юзер

ZeN41k - 28 сентября 2016 15:34 -

Если вы знаете как обходить эту защиту - это не значит, что её знают все. Обычно копируют чужой контент тупые вебмастеры, из которых большая часть вряд ли будет знать как обходить защиту. Умные как раз таки не воруют в большинстве случаев.

irrwisch
Юзер

irrwisch - 28 сентября 2016 15:51 -

Как обойти данную защиту знает каждый школьник, эта защита поможет только от пенсионеров, которые знают только как включить компьютер, зайти в одноклассники и как правильно выключить компьютер. Вот Вам банальный пример "защищённой" галереи, а вот оригинал данного изображения. Как по мне лучшая защита от "тупых" вебмастеров это водяные знаки (watermark) на изображениях и ссылка на сайт в буфер обмена при копировании.

ZeN41k
Юзер

ZeN41k - 28 сентября 2016 15:56 -

Вы заблуждаетесь! Защита от нажатия правой кнопки мыши и выделения лишним не будет.

ZeN41k
Юзер

ZeN41k - 28 сентября 2016 15:59 -

else if (typeof target.style.MozUserSelect!="undefined")
target.style.MozUserSelect="none"

по идее вот эта строчка нужна мне, но как её встроить?

Pringles
Юзер

Pringles - 28 сентября 2016 16:49 -

Банально на css
* {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }

ZeN41k
Юзер

ZeN41k - 28 сентября 2016 17:00 -

невалидный код( а можно в скрипт встроить?

Pringles
Юзер

Pringles - 28 сентября 2016 17:57 -

Смешно...)

Апельсин
Юзер

Апельсин - 28 сентября 2016 17:39 -

Ответ на вопрос не верный. Всё отлично работает.

http://prntscr.com/cne1fq

irrwisch
Юзер

irrwisch - 28 сентября 2016 17:56 -

Забирайте, скрипт рабочий, проверить можно тут же. Скрипт НЕ блокирует правую кнопку мыши (что позволяет людям открывать к примеру фильмы в новых вкладках), но при этом ничего из текстов выделить нельзя, так же отключены комбинации клавиш ctrl+a, ctrl+c, ctrl+x (за исключением когда курсор мыши находится в текстовом поле)

ZeN41k
Юзер

ZeN41k - 28 сентября 2016 18:33 -

хотелось бы, чтобы правая кнопка не работала, не уже ли нельзя связать этот скрипт:
<script type="text/javascript">
document.ondragstart = noselect;
document.onselectstart = noselect;
document.oncontextmenu = noselect;
function noselect() {return false;}
</script>

С ЭТИМ:
<script type="text/javascript">
function disableSelection(target){
if (typeof target.onselectstart!="undefined")
    target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined")
    target.style.MozUserSelect="none"
else
    target.onmousedown=function(){return false}
target.style.cursor = "default"
}

if (document.getElementById("noselect")) {
disableSelection(document.getElementById("noselect"));
}
    </script>

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх