星期二, 十月 31, 2006

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

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

方法1: 推荐大家使用基于IE内核的浏览器--世界之窗(The world),具备解除页面脚本屏蔽复制的功能,现同解除页面右键菜单限制功能一起,在其它选项中可设置,名称为:解除页面脚本限制(复制、右键菜单等)
1.*版本下载地址:http://www.ioage.com/cn/theworld_download.htm
2.*版本下载地址:http://www.ioage.com/download/TheWorld2.0Beta_cnxp.exe

方法2:就是在浏览器地址栏输入以下代码:
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;
}

了解了上述原理,要屏蔽就易如反掌了,呵呵,在浏览器输入如下代码:

javascript:alert(document.onselectstart = document.oncontextmenu = document.onmousedown = document.onkeydown = function(){return true;});


实际中发现如果不用alert语句套上,会导致浏览器重写当前窗口,于是就加上了。大家不妨试试,遇到不奏效的记得反馈下,我好研究是否有更完善的方案。

相比而言,这比查看源代码,或者屏蔽浏览器的javascript功能都方便多了。

转自:http://www.dzhai.com/blog/article.asp?id=143

没有评论: