zoukankan      html  css  js  c++  java
  • js禁止右键和复制功能

     

    下面就是实现效果所需代码:
    function click(e) {
    if (document.all) {
    if (event.button==1||event.button==2||event.button==3) {
    oncontextmenu='return false';
    }
    }
    if (document.layers) {
    if (e.which == 3) {
    oncontextmenu='return false';
    }
    }
    }
    if (document.layers) {
    document.captureEvents(Event.MOUSEDOWN);
    }
    document.onmousedown=click;
    document.oncontextmenu = new Function("return false;")

    var travel=true
    var hotkey=17 /* hotkey即为热键的键值,是ASII码,这里99代表c键 */
    if (document.layers)
    document.captureEvents(Event.KEYDOWN)
    function gogo(e)
    { if (document.layers) {
    if (e.which==hotkey&&travel){
    alert("操作错误.或许是您按错了按键!"); } }
    else if (document.all){
    if (event.keyCode==hotkey&&travel){ alert("操作错误.或许是您按错了按键!"); }}
    }

    document.onkeydown=gogo
    把上面的代码另存为一个JS文件,然后在想实现此效果的页面调用即可!
    本文来自:php小戴编程技术门户(www.phpxd.com) 详细出处参考:http://www.phpxd.com/yuandaima/2009-04-09/200904091602160.html

    网页制作者经常遇到精心制作的Javascript特效被别人抄袭,而自己对此却无可奈何的情况。面对这一困扰,有没有方法可以解决呢?使用 ASP、JSP等服务器端编程技术可以实现对网页源代码的保护,但目前国内网站所提供的免费个人主页空间一般都不提供对服务器端编程的支持,所以对于这些 用户,要禁止访问者查看网页源代码就只能在客户端编程上下工夫了。 查看源代码的方式要禁止访问者查看网页源代码,我们首先要了解一下查看源代码的方式(以IE 5.0为例)。一是右键菜单方式(如图1所示); 二是窗口菜单栏查看方式,即选择"查看"*"源文件"方式(如图2所示)。要彻底禁止访问者查看网页源代码,就必须屏蔽这2种查看源代码的方式。
    屏蔽右键菜单查看方式现在,很多网页采用如下代码屏蔽右键菜单: < Script Language=javascript>function Click(){if(event.button==2){alert('版权所有(C)2001 XXX工作室');}}document.onmousedown=Click;< /Script>实际上"button"有8个属性值(即0~7),"button==2"只是表示按下鼠标右键,所以上述代码实际上只能限制点击 鼠标右键的情况,至于其他5种方式,如同时按左右键、中间键、左和中间键、右和中间键和按所有键的情况就不能限制了。所以在弹出版权信息提示窗口后(如图 3所示),按"确定"按钮仍然会出现快捷菜单。针对这种情况,其实只要将"event.button==2"改为"event.button!==1"就 可以做到无论用何种鼠标点击方式,均不出现右键菜单了。
    不过即使进行上述修改后,也并不能彻底禁止右键菜单的出现。用户只要在页面上按下右键,出现版权信息提示窗口后,不松开右键(即继续保持按下状态),再将 鼠标指针移动到版权信息提示窗口的"确定"按钮上,同时按下左键,然后再松开鼠标左键,提示窗口即消失。此时再松开鼠标右键,右键菜单弹出,这样就又可以 查看网页源文件了。 那么有没有办法彻底禁止右键快捷菜单的出现呢?其实只要将上述代码做如下修改即可。 < Script Language=javascript> function Click(){alert('版权所有(C)2001 XXX工作室');window.event.returnValue=false;}document.oncontextmenu=Click;& lt; /Script>这样无论采取什么方式点击鼠标,都不会再出现快捷菜单了。不过值得注意的是,如果访问者直接在浏览器地址栏中键 入"javascript:alert(document.oncontextmenu='')",就可以解除对右键菜单的屏蔽。对这类访问者怎样防范 呢?其实,把地址栏隐藏掉就可以了,具体方法见本文介绍的"屏蔽窗口菜单栏查看方式"。 屏蔽窗口菜单栏查看方式 制作过网页的朋友都知道,对新打开窗口的各种属性可以进行控制,具体包括控制菜单栏、滚动条及地址栏是否可见等。如果把父窗口关闭,并将新打开窗口的菜单 栏和地址栏隐藏,不就可以屏蔽窗口菜单栏查看方式了吗?实现代码如下: < Head>< Object id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">< Param name="Command" value="Close">< /Object>< /Head>< Body>< Script Language=javascript>closes.Click()window.open("XXX.htm","","menubar=no,location=no,scrollbars=yes,resizable=yes")< /Script>< /Body>这种方法的原理就是首先将自己网站的首页制作成index.htm形式,把首页设计成一个过渡页。然后将自己的真正主页制作成 default.htm形式(具体实现过程见本文所附源代码)。这样访问者无论如何也无法查看网页源代码了。这不仅仅保护了您的版权,也为进一步开发提供 了保障。通过此方法,您可以结合Cookie技术,真正做到限制用户浏览网页,从而避免主页资料被非法访问者访问。 附:源代码清单index.htm< Head>< Object id=closes type="application/x-oleobject" 100%">adb880a6-d8ff-11cf-9377-00aa003b7a11">< Param name="Command" value="Close">< /Object>< /Head>< Body>< Script Language=javascript>closes.Click()window.open("defalut.htm","","menubar=no,location=no,scrollbars=yes,resizable=yes")< /Script>< /Body>default.htm< Html>< Head>< Script Language=javascript>function Click(){alert('版权所有(C)2001 XXX工作室');window.event.returnValue=false;}document.oncontextmenu=Click;& lt; /Script>< /Head>< Body>... ...< /Body>< /Html>注: 本文涉及内容在Windows 98/IE 5.0下测试通过。

    附加禁止右键代码和防止查看源码代码:
    <body>
    <Script Langvage=javascript>
    function Click(){
    alert('版权所有:Www.52Hmily.Cn QQ:68857640');
    window.event.returnValue=false;
    }
    document.oncontextmenu=Click;
    </Script>
    </body>

    <html>
    <head>
    <script>
    function clear(){
    Source=document.body.firstChild.data;
    document.open();
    document.close();
    document.title="看不到源代码";
    document.body.innerHTML=Source;
    }</script>
    </head>
    <body onload=clear() >
    <!--
    歡迎你來找源碼。歡迎你來找源碼。歡迎你來找源碼。歡迎你來找源碼。歡迎你來找源碼。歡迎你來找源碼。、源碼。 歡迎你來找源碼。歡迎你來找源碼。歡迎你來找源碼。歡迎你來找源碼。歡迎你來找源碼。
    -->
    <noscript><iframe src="*.htm"></iframe></noscript>
    <font color=white>嗨你真強,竟然被你用MAXTHON看到了源碼,但你看到的僅僅占整個源碼的10/100~
    </body>
    </html>

  • 相关阅读:
    阅读笔记7
    阅读笔记6
    架构阅读笔记5
    软件质量属性——易用性课堂讨论问题总结
    Git 的 .gitignore 配置
    zookeeper的简单搭建,java使用zk的例子和一些坑
    MySQL中有关TIMESTAMP和DATETIME的对比
    Mysql 如何设置字段自动获取当前时间,附带添加字段和修改字段的例子
    spring boot注入error,Consider defining a bean of type 'xxx' in your configuration问题解决方案
    net start命令发生系统错误5和错误1058的解决方法
  • 原文地址:https://www.cnblogs.com/zhangq723/p/1707246.html
Copyright © 2011-2022 走看看