Wordpress文章复制自动添加博客链接的JS脚本(兼容IE、Firefox和Chrome)

这次博客在改用新主题的时候,曾经尝试过给博客的文章页面添加一个小功能:在复制文字时自动在文字后面加入文章的链接地址。当然保护文章版权的方法也有很多,例如给博文中的图片添加水印,在文章中多次增加内链,也有通过禁用右键复制功能来实现等等。但是还是vfhky觉得添加水印有碍图片的阅览,可以增加文字内链也麻烦,而禁止右键的复制又显得小气,所以试了试采用自动在复制的文字后面添加文章出处的链接。后来又觉得比较无聊,于是又删掉了,还是自然的好!下面给出兼容IE、Firefox和Chrome的javascript脚本代码,仅供参考。

使用方法:直接在Wordpress文章输出单页single.php中 <?php the_content('Read more...'); ?> 后面添加即可。如果还想在实现这个功能的同时尽量不影响文章页面的载入速度,那么可以把这段代码加在<?php get_footer(); ?>的后面。

app.js
<script type="text/javascript">
	var Sys = {};
	var ua = navigator.userAgent.toLowerCase();
	if( window.ActiveXObject )
	{
		document.body.oncopy=function()
		{
			event.returnValue = false;
			var t=document.selection.createRange().text;
			var s="本文来自:<?php bloginfo('name'); ?> <?php echo get_settings('home'); ?> ; 原文链接:<?php the_permalink() ?> 。";
			clipboardData.setData('Text',t+'\r\n'+s);
		}
	}
	else
	{
		function addLink()
		{
			var body_element = document.getElementsByTagName('body')[0];
			var selection;
			selection = window.getSelection();
			var pagelink = "<br /> 本文来自: <?php bloginfo('name'); ?> <?php echo get_settings('home'); ?> ;原文链接:<a href='"+document.location.href+"'>"+document.location.href+"</a> 。";

			var copytext = selection + pagelink;
			var newdiv = document.createElement('div');
			newdiv.style.position='absolute';
			newdiv.style.left='-99999px';
			body_element.appendChild(newdiv);
			newdiv.innerHTML = copytext;
			selection.selectAllChildren(newdiv);
			window.setTimeout
			(
				function()
				{
					body_element.removeChild(newdiv);
				},0
			);
		}
		document.oncopy = addLink;
	}
</script>

评论

评论加载中…