屏蔽菜单栏和右键的方式
对新打开窗口的各种属性可以进行控制,具体包括控制菜单栏、滚动条及地址栏是否可见等。如果把父窗口关闭,并将新打开窗口的菜单栏和地址栏隐藏,就可以屏蔽窗口菜单栏。
此方法的原理是,首先将自己网站的首页制作成index.html形式,把首页设计成一个过渡页。然后将自己的真正主页制作成default.html形式(具体实现过程见本文所附源代码)。这样访问者无论如何也无法查看网页源代码了。这不仅仅保护了您的版权,也为进一步开发提供了保障。通过此方法,您可以结合Cookie技术,真正做到限制用户浏览网页,从而避免主页资料被非法访问者访问。 源码如下:
-------------index.html---------------
- <Head>
- </Head>
- <Body>
- 此窗体即将关闭!!
- <Script>
- window.open("default.html","","menubar=no,location=no,scrollbars=yes,resizable=yes");
- //关闭父窗体
- window.opener=null;
- window.close();
- </Script>
- </Body>
<Head>
</Head>
<Body>
此窗体即将关闭!!
<Script>
window.open("default.html","","menubar=no,location=no,scrollbars=yes,resizable=yes");
//关闭父窗体
window.opener=null;
window.close();
</Script>
</Body>
-------------default.html---------------
- <Html>
- <Head>
- <Script Language=javascript>
- function Click(){
- alert("版权所有(C)2010 Sijimei.Net");
- window.event.returnValue=false;
- }
- document.oncontextmenu=Click;
- </Script>
- </Head>
- <Body>
- ......
- </Body>
- </Html>
<Html>
<Head>
<Script Language=javascript>
function Click(){
alert("版权所有(C)2010 Sijimei.Net");
window.event.returnValue=false;
}
document.οncοntextmenu=Click;
</Script>
</Head>
<Body>
......
</Body>
</Html>
======================PS================================
---- 现在,很多网页采用如下代码屏蔽右键菜单:
- <Script Language=javascript>
- function Click(){
- if(event.button==2){
- alert(' 屏蔽右键菜单 ');
- }
- }
- document.οnmοusedοwn=Click;
- </Script>
<Script Language=javascript>
function Click(){
if(event.button==2){
alert(' 屏蔽右键菜单 ');
}
}
document.οnmοusedοwn=Click;
</Script>
---- 实际上"button"有8个属性值(即0~7),"button==2"只是表示按下鼠标右键,所以上述代码实际上只能限制点击鼠标右键的情况,至于其他5种方式,如同时按左右键、中间键、左和中间键、右和中间键和按所有键的情况就不能限制了。所以在弹出信息提示窗口后,按"确定"按钮仍然会出现快捷菜单。针对这种情况,其实只要将"event.button==2"改为"event.button!==1"就可以做到无论用何种鼠标点击方式,均不出现右键菜单了。
---- 不过即使进行上述修改后,也并不能彻底禁止右键菜单的出现。用户只要在页面上按下右键,出现版权信息提示窗口后,不松开右键(即继续保持按下状态),再将鼠标指针移动到版权信息提示窗口的"确定"按钮上,同时按下左键,然后再松开鼠标左键,提示窗口即消失。此时再松开鼠标右键,右键菜单弹出,这样就又可以查看网页源文件了。
---- 那么有没有办法彻底禁止右键快捷菜单的出现呢?其实只要将上述代码做如下修改即可。
- <Script Language=javascript>
- function Click(){
- alert("版权所有(C)2010 Sijimei.Net");
- window.event.returnValue=false;
- }
- document.oncontextmenu=Click;
- </Script>
<Script Language=javascript>
function Click(){
alert("版权所有(C)2008 点子工作室");
window.event.returnValue=false;
}
document.οncοntextmenu=Click;
</Script>
---- 这样无论采取什么方式点击鼠标,都不会再出现快捷菜单了。不过值得注意的是,如果访问者直接在浏览器地址栏中键入"javascript:alert(document.οncοntextmenu='')",就可以解除对右键菜单的屏蔽。对这类访问者怎样防范呢?其实,把地址栏隐藏掉就可以了,具体方法见本文介绍的"屏蔽菜单栏和右键的方式 "。