WordPress文章防复制代码

avatar 2019年7月18日12:33:31 8 1,025

通过下面的JS代码,可以有效地防止别人直接复制拷贝你的文章,用frame标签引用你的文章时,会自动跳转到文章正常链接,同时禁止右键菜单。

使用方法一:

打开当前主题头部模板header.php找到:<?php wp_head(); ?>将下面代码添加到后面:

<script>
// 禁止右键
document.oncontextmenu = function() {
	return false
};
// 禁止图片拖放
document.ondragstart = function() {
	return false
};
// 禁止选择文本
document.onselectstart = function() {
	if (event.srcElement.type != "text" && event.srcElement.type != "textarea" && event.srcElement.type != "password") return false;
	else return true;
};
if (window.sidebar) {
	document.onmousedown = function(e) {
		var obj = e.target;
		if (obj.tagName.toUpperCase() == "INPUT" || obj.tagName.toUpperCase() == "TEXTAREA" || obj.tagName.toUpperCase() == "PASSWORD") return true;
		else return false;
	}
};
// 禁止frame标签引用
if (parent.frames.length > 0) top.location.replace(document.location);
</script>

使用方法二:

上面的方法查看源代码时有些乱,可以在当前主题目录新建一个名称为copyright.js文件,将下面代码添加进去:

// 禁止右键
document.oncontextmenu = function() {
	return false
};
// 禁止图片拖放
document.ondragstart = function() {
	return false
};
// 禁止选择文本
document.onselectstart = function() {
	if (event.srcElement.type != "text" && event.srcElement.type != "textarea" && event.srcElement.type != "password") return false;
	else return true;
};
if (window.sidebar) {
	document.onmousedown = function(e) {
		var obj = e.target;
		if (obj.tagName.toUpperCase() == "INPUT" || obj.tagName.toUpperCase() == "TEXTAREA" || obj.tagName.toUpperCase() == "PASSWORD") return true;
		else return false;
	}
};
// 禁止frame标签引用
if (parent.frames.length > 0) top.location.replace(document.location);

然后再将下面代码添加到当前主题函数模板functions.php的最后:

function copyrightpro_scripts() {
	wp_enqueue_script( 'copyright', get_template_directory_uri() . '/copyright.js', array(),  false );
}

if (! current_user_can('level_10') ) {
add_action( 'wp_enqueue_scripts', 'copyrightpro_scripts' );
}

代码中加了判断,管理员登录状态一下,防复制代码无效。

当然上面的方法,也只是忽悠一下小白,浏览器禁用JavaScript后,将失去效果。

JS代码提取自:CopyRightPro插件

 

weinxin
关于本站
分享交流WordPress经验与技巧,关注前端设计与网站制作。仅用于功能演示。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:8   其中:访客  8   博主  0

    • avatar 奶爸de笔记 3

      说实话,没什么实际意义,反而还降低了用户体验。比如你技术文章,一串命令,不让我复制我怎么跟着操作?真的想要抄你文章的,怎么会被这么点东西难倒。

      • avatar 简单生活 3

        比较反感禁止右键的网页…

        • avatar 遇见台儿庄 4

          我有chrome Tabcopy插件啊 :grin:

          • avatar lushujie 0

            真要想抄,办法多的是,也就是防一些小白中的小白。