没有html页面的复制脚本

时间:2010-07-15 08:27:38

标签: javascript html copy

我的一位客户希望网站上有一个无复制脚本,以防止人们从页面上复制文本。是否有跨浏览器方式可以执行此操作?我可能只是看一个JavaScript方法。我知道这可以被一些知识渊博的人关掉,但在大多数情况下会这样做。

4 个答案:

答案 0 :(得分:3)

互联网上有关于此请求的ton of resources。请注意,确定的用户始终可以从网页复制文本。

答案 1 :(得分:2)

<script language="JavaScript"> 
// distributed by http://hypergurl.com <!-- var popup="Sorry, right-click 
is disabled.\n\nThis Site Copyright ©2000"; function noway(go) { if 
(document.all) { if (event.button == 2) { alert(popup); return false; } } if (document.layers) 
{ if (go.which == 3) { alert(popup); return false; } } } if (document.layers) 
{ document.captureEvents(Event.MOUSEDOWN); } document.onmousedown=noway; // --> 
</script>



<script language="JavaScript1.1"> 
// distributed by http://www,hypergurl.com <!-- var debug = true; function 
right(e) { if (navigator.appName == 'Netscape' && (e.which == 3 || e.which 
== 2)) return false; else if (navigator.appName == 'Microsoft Internet Explorer' 
&& (event.button == 2 || event.button == 3)) { alert('This Page is fully 
protected!'); return false; } return true; } document.onmousedown=right; if (document.layers) 
window.captureEvents(Event.MOUSEDOWN); window.onmousedown=right; //--></script>

答案 2 :(得分:2)

不是答案,而是我对这个主题的看法:

如果您希望人们不要复制您网站的内容,请不要将其发布到互联网上。 javascript将阻止用户选择,但用户将会恼火。 (例如,我有时选择文字以使阅读更容易,而不是复制它)

人们仍然会通过HTML源/ DOM获取文本。 人们可以重新键入文本或制作图片并使用OCR。

答案 3 :(得分:2)

<script language=JavaScript>
  var message="!!YOU CANNOT COPY ANY TEXT OR IMAGE FROM THIS SITE!";
  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>
</head>
<body>