Jump to content
IPS Invision Community
Sign in to follow this  

Запрет ПКМ и копирования


Description

Запрет ПКМ и копирование материала

Иногда бывают такие ситуации, когда нужно запретить выделение контента с какой-либо страницы. Снизу будут представлены несколько вариантов, которые многим пригодятся. Но для подготовленного пользователя не составит труда вытащить данный материал со страницы.

Способ №1:

Использование JavaScript:

<script language=JavaScript>
document.oncontextmenu=new Function("return false;")
</script>

Способ №2:
Добавление следующего в тэг <body>:

<body oncontextmenu="return false">

Способ №3 (запрет копирование текста):

Также с добавлением в тэг <body>:

<body oncontextmenu="return false" oncopy="return false;" oncontextmenu="return false" onselectstart="return false;">

Способ №4 от @Maiden8

Все что от Вас требуется - это разместить данный код между тегами <head></head>:

Запрещает ПКМ и выводит сообщение:

<script language=JavaScript>
      <!--
var message="Правый клик запрещен!";
///////////////////////////////////
      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")
// --> 
      </script>

Второй запрещает выделение текста и сочетания Ctrl + A и Ctrl + U и Ctrl + S:

<script>
//запрещает выделение мышкой и комбинации клавиш Ctrl + A и Ctrl + U и Ctrl + S
function preventSelection(element){
  var preventSelection = false;
  function addHandler(element, event, handler){
  if (element.attachEvent) element.attachEvent('on' + event, handler);
  else if (element.addEventListener) element.addEventListener(event, handler, false);  }
  function removeSelection(){
  if (window.getSelection) { window.getSelection().removeAllRanges(); }
  else if (document.selection && document.selection.clear)
  document.selection.clear();
  }

  //запрещаем выделять текст мышкой
  addHandler(element, 'mousemove', function(){ if(preventSelection) removeSelection(); });
  addHandler(element, 'mousedown', function(event){ var event = event || window.event; var sender = event.target || event.srcElement; preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i) ;});

  //запрещаем нажатие клавищ Ctrl + A и Ctrl + U и Ctrl + S
  function killCtrlA(event){
  var event = event || window.event;
  var sender = event.target || event.srcElement;
  if (sender.tagName.match(/INPUT|TEXTAREA/i)) return;
  var key = event.keyCode || event.which;
  if ((event.ctrlKey && key == 'U'.charCodeAt(0)) || (event.ctrlKey && key == 'A'.charCodeAt(0)) || (event.ctrlKey && key == 'S'.charCodeAt(0)))  // 'A'.charCodeAt(0) можно заменить на 65
  { removeSelection();
  if (event.preventDefault) event.preventDefault();
  else event.returnValue = false;}}
  addHandler(element, 'keydown', killCtrlA);
  addHandler(element, 'keyup', killCtrlA);
}
preventSelection(document);
</script>

Вот и все. Это бредовая затея, я в курсе, но видел пару подобных вопросов по форумным движкам. 

  • Нравится 2


Recommended Comments

Sipsb

Posted

Или просто установить этот плагин.

 

Share this comment


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...