平时受到垃圾站的干扰,自动弹窗也就算了,但是这两天利用某在线代理进行访问时,几乎只要在页面上单击一下,就会弹出一个新标签页,这令我忍无可忍了。
要不是这个免费、无流量限制的在线代理用了一年多都很稳定,我才不会一直忍受这种卑劣行为呢,尤其是弹出的页面还是被重置的。
屏蔽了再说
寻觅了一阵,有人推荐用Better Pop Up Blocker扩展[1],有人推荐关掉JavaScript[2],卡饭上有人多法联用。
第一个方法我用了,问题依旧出现,第二个方法就立竿见影了,只是鼠标手势在禁用JavaScript的页面用不了,那就Ctrl+W代替吧,总比不停地弹窗要强。
如果像引用文章说的那样开启白名单机制的话,上网体验就要完蛋了,几乎是个网站都要用JavaScript实现某些功能。稍微变通一下,反过来,还是全部开启,靠添加黑名单来解决问题,反正就那几个网站讨嫌。
确为JavaScript惹的祸
前面说的那个代理网站,在其面页源代码末尾有这么一条:
<script>try{var oldBodyOnClick=document.body.onclick;document.body.onclick=function(){window.open(‘http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=1434885&y=23&w=800&h=600&t=3’);if(oldBodyOnClick!=null){oldBodyOnClick();}document.body.onclick=oldBodyOnClick;}}catch(e){}</script>
oldBodyOnClick!没了解过相关编程语言的背景知识,我都猜得出,这是“点击旧页面时”啊,在代码中间,目标网址也径直地出现在眼前。
有的网站不准复制文字,可是网页上任何东西都能在源代码里看到,所以只可能是加了JavaScript代码做出限制。有的甚至禁用鼠标右键,以致“查看(面页)源代码”必须跑到浏览器的菜单栏去找。鼠标脱离了网页要是都还受到牵制,那就见鬼了。
收藏资料很多的360doc页面有这么一段:
<SCRIPT LANGUAGE=javascript>
function click() {
alert(‘禁止你的左键复制!’) }
function click1() {
if (event.button==2) {alert(‘抱歉,你不能复制!’) }}
function CtrlKeyDown(){
if (event.ctrlKey) {alert(‘不当的拷贝将损害您的系统!’) }}
document.onkeydown=CtrlKeyDown;
document.onselectstart=click;
document.onmousedown=click1;
</SCRIPT>
主要是看不惯它的恐吓手段,居然在用户用Ctrl键进行复制时警告说会损害系统,太无耻了。
参考资料
[1]Better Pop Up Blocker 帮助 Chrome 屏蔽所有自动弹出窗口 | 谷奥——探寻谷歌的奥秘
[2]Chrome新功能:屏蔽JavaScript