这次博客在改用新主题的时候,曾经尝试过给博客的文章页面添加一个小功能:在复制文字时自动在文字后面加入文章的链接地址。当然保护文章版权的方法也有很多,例如给博文中的图片添加水印,在文章中多次增加内链,也有通过禁用右键复制功能来实现等等。但是还是vfhky觉得添加水印有碍图片的阅览,可以增加文字内链也麻烦,而禁止右键的复制又显得小气,所以试了试采用自动在复制的文字后面添加文章出处的链接。后来又觉得比较无聊,于是又删掉了,还是自然的好!下面给出兼容IE、Firefox和Chrome的javascript脚本代码,仅供参考。
使用方法:直接在Wordpress文章输出单页single.php中 <?php the_content('Read more...'); ?>
后面添加即可。如果还想在实现这个功能的同时尽量不影响文章页面的载入速度,那么可以把这段代码加在<?php get_footer(); ?>
的后面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 | <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>
|
Comments »