您的位置:首页 > Web前端 > JavaScript

右键屏蔽,防止复制,突破屏蔽鼠标右键复制网页内容

2010-04-15 17:09 471 查看

<script language="JavaScript">
<!--
if (window.Event) document.captureEvents(Event.MOUSEUP);
  
function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
  
function norightclick(e)
{
if (window.Event)
{
   if (e.which == 2 || e.which == 3)
    return false;
}
else
   if (event.button == 2 || event.button == 3)
   {
    event.cancelBubble = true
    event.returnValue = false;
    return false;
   }
}
document.oncontextmenu = nocontextmenu;   // for IE5+
document.onmousedown = norightclick;   // for all others
//-->
</script>

突破屏蔽鼠标右键复制网页内容

大家一定遇到过网页内容无法复制的问题,虽然实现技术简单,但碰到时还真是挺烦人的,最迅速的解决方案

就是在浏览器地址栏输入以下代码:
javascript:alert(document.onselectstart = document.oncontextmenu = document.onmousedown = document.onkeydown = function(){return true;});


 

嘿嘿,是不是可以选中内容可以复制了?神奇吧!

说到灵感来源,还要从前几天在发布的一特搞笑的技术说起(原文地址:http://www.dzhai.com/blog/article.asp?id=133),它是通过在地址栏输入javascript代码而使得网页中的图片满天飞舞,效果很是不错。虽然很容易明白其原理,但还是很佩服该作者的创意,呵呵。。于是便想这个小trick是否能有其他实用的用处呢。。。

说到这里,大家都明白了,就是用来解决网页能容无法复制的问题。

首先了解下常见的实现无法复制内容的javascript技术,如下:
(1)屏蔽选中事件


document.onselectstart=function(){return false;}

(2)屏蔽右键菜单

document.oncontextmenu=function(){return false;}

(3)另一种屏蔽右键菜单
document.onmousedown=function(){
   if(event.button==2)return false;
}


(4)屏蔽ctrl按键

document.onkeydown=function(){
   if(event.ctrlKey)return false;
}


了解了上述原理,要屏蔽就易如反掌了,呵呵,在浏览器输入如下代码:
实际中发现如果不用alert语句套上,会导致浏览器重写当前窗口,于是就加上了。大家不妨试试,遇到不奏效的记得反馈下,我好研究是否有更完善的方案。


相比而言,这比查看源代码,或者屏蔽浏览器的javascript功能都方便多了,大家都来感谢偶吧!

原文地址http://www.dzhai.com/blog/article.asp?id=143

javascript:alert(document.onselectstart = document.oncontextmenu = document.onmousedown = document.onkeydown = function(){return true;});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐