Запрет выбора и копирования - PullRequest
3 голосов
/ 29 июня 2009

Я хочу неактивно выделять и копировать текст на html-странице. когда я использовал Javascript и неактивный щелчок правой кнопкой мыши, пользователь может использовать Ctrl + V !!

Ответы [ 3 ]

6 голосов
/ 29 июня 2009

Вы не можете. Даже не пытайся. Не раздражайте своих пользователей.

Если вы разместите его в сети, его можно скопировать. Технически, он уже копируется, как только пользователь видит это. Как указывал колитий, все методы можно обойти. Черт возьми, вы можете посмотреть на исходный код. Вы можете свернуть необработанные данные из командной строки, никакой взлом JS / IMG / layer не сможет этого предотвратить.

3 голосов
/ 29 июня 2009

Полного доказательства не существует. Вы можете играть в игры JavaScript (легко отключить). Вы можете разместить невидимые слои вокруг текста, чтобы его нельзя было легко выбрать (легко просмотреть источник). Вы можете использовать изображения вместо текста (просто плохо).

0 голосов
/ 29 июня 2009

Хотя я в принципе согласен с другими авторами, что попытка сделать это может раздражать пользователя, иногда менеджер или клиент требуют, чтобы это было сделано, и поэтому необходимо предоставить ответ.

Проверьте эту страницу на www.dynamicdrive.com, которая предоставит вам несколько JavaScripts для этой цели. В частности, см. «Отключить сценарий выбора текста» и «Нет сценария щелчка правой кнопкой мыши».

Отключить скрипт выбора текста:

/***********************************************
* Disable Text Selection script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
    target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
    target.style.MozUserSelect="none"
else //All other route (ie: Opera)
    target.onmousedown=function(){return false}
target.style.cursor = "default"
}

//Sample usages
//disableSelection(document.body) //Disable text selection on entire body
//disableSelection(document.getElementById("mydiv")) //Disable text selection on element with id="mydiv"

Скрипт без щелчка правой кнопкой мыши:

//Disable right mouse click Script
//By Maximus (maximus@nsimail.com) w/ mods by DynamicDrive
//For full source code, visit http://www.dynamicdrive.com
var message = "Function Disabled!";

///////////////////////////////////
function clickIE4() {
    if (event.button == 2) {
        alert(message);
        return false;
    }
}

function clickNS4(e) {
    if (document.layers || document.getElementById && !document.all) {
        if (e.which == 2 || e.which == 3) {
            alert(message);
            return false;
        }
    }
}

if (document.layers) {
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown = clickNS4;
} else if (document.all && !document.getElementById) {
    document.onmousedown = clickIE4;
}

document.oncontextmenu = new Function("alert(message);return false")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...