Typecho网站内容的禁止复制和粘贴

Typecho· 经验教程 · 2020-03-13 · 68 人浏览

本教程讲JS实现网站内容的禁止复制和粘贴、另存为

1、使右键和复制失效

方法1:

在网页中加入以下代码:

    <script language="Javascript">  
    document.oncontextmenu=new Function("event.returnValue=false");  
    document.onselectstart=new Function("event.returnValue=false");  
    </script>  

方法2:

<body>中加入以下代码:

    <body oncontextmenu="return false" onselectstart="return false">

    <body oncontextmenu="event.returnValue=false" onselectstart="event.returnValue=false">

实质上,方法2与方法1是一样的。

方法3:

如果只限制复制,可以在<body>加入以下代码:

    <body oncopy="alert('对不起,禁止复制!');return false;">

2、使菜单"文件"-"另存为"失效

如果只是禁止了右键和选择复制,别人还可以通过浏览器菜单中的"文件"-"另存为"拷贝文件。为了使拷

贝失效,可以在<body></body>之间加入以下代码:

    <noscript>
    <iframe src="*.htm"></iframe>
    </noscript>

这样,用户在另存网页时,就会出现"无法保存Web页"的错误。

————————————————————————————————————

另外,也可以使用event.preventDefault() 方法来阻止oncontextmenu() 还有onselectstart()

    document.oncontextmenu=function(evt){
      evt.preventDefault();
    }
    
    document.onselectstart=function(evt){
     evt.preventDefault();
    };

—————————————————————————————————————

既然可以禁止,那么当然也可以启用它,将事件重新赋值即可,可以赋值为null,或字符串、布尔值都行。如:

    document.oncontextmenu="";
    
    document.onselectstart=true;

或者 禁用js:打开谷歌浏览器,选择“设置” – 选择“隐私设置” – 选项“内容设置” – 选择“JavaScript” – 选择“不允许任何网站运行JavaScript”,设置完成刷新即可。

Typecho 经验教程
【免责声明】 本网站大部分软件和资源收集于网络,只做自己私下学习备份使用。所有资源和软件均来自互联网的优秀作者们,版权归原作者或企业所有。