一段js代码解决网页内容无法复制的问题

2010-08-28 10:50:35来源:西部e网作者:

大家一定遇到过网页内容无法复制的问题,虽然实现技术简单,但碰到时还真是挺烦人的,现在偶提供一个最迅速的解决方案,就是在浏览器地址栏输入以下代码:
javascript:alert(document.onselectstart = document.oncontextmenu = document.onmousedown = document.onkeydown = function(){return true;});
嘿嘿,是不是可以选中内容可以复制了?神奇吧!

说到灵感来源,还要从前几天在某blog看到一个搞笑的技术说起,它是通过在地址栏输入javascript代码而使得网页中的图片满天飞舞,效果还真不错。虽然很容易明白其原理,但还是很pf作者的创意,呵呵。。于是便想这个小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;
}

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

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