Javascript 当用户复制时链接回站点&;粘贴文本在Wordpress中不起作用
每当用户复制文本时,我想将链接添加回我的站点 每当用户从我的站点复制文本时,我都想添加一个链接回我的站点。比如“在我的网站上阅读更多信息:URL”。我相信你以前也遇到过这种情况 我在野外(Wordpress)发现了这段代码,但它根本不起作用。我用最新版本的Firefox和Safari在WordPress3.8上测试了它。Javascript代码有什么问题吗?还是Wordpress代码本身Javascript 当用户复制时链接回站点&;粘贴文本在Wordpress中不起作用,javascript,php,wordpress,url,copy-paste,Javascript,Php,Wordpress,Url,Copy Paste,每当用户复制文本时,我想将链接添加回我的站点 每当用户从我的站点复制文本时,我都想添加一个链接回我的站点。比如“在我的网站上阅读更多信息:URL”。我相信你以前也遇到过这种情况 我在野外(Wordpress)发现了这段代码,但它根本不起作用。我用最新版本的Firefox和Safari在WordPress3.8上测试了它。Javascript代码有什么问题吗?还是Wordpress代码本身 function add_copyright_text() { if (is_single()) {
function add_copyright_text() {
if (is_single()) { ?>
<script type='text/javascript'>
function addLink() {
if (
window.getSelection().containsNode(
document.getElementsByClassName('entry-content')[0], true)) {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var oldselection = selection
var pagelink = "<br /><br /> Read more: <?php the_title(); ?> <a href='<?php echo get_permalink(get_the_ID()); ?>'><?php echo get_permalink(get_the_ID()); ?></a>"; //Change this if you like
var copy_text = selection + pagelink;
var new_div = document.createElement('div');
new_div.style.left='-99999px';
new_div.style.position='absolute';
body_element.appendChild(new_div );
new_div.innerHTML = copy_text ;
selection.selectAllChildren(new_div );
window.setTimeout(function() {
body_element.removeChild(new_div );
},0);
}
}
document.oncopy = addLink;
</script>
<?php
}
}
add_action( 'wp_head', 'add_copyright_text');
函数添加版权文本(){
如果(is_single()){?>
函数addLink(){
如果(
window.getSelection().containsNode(
document.getElementsByClassName('entry-content')[0],true)){
var body_element=document.getElementsByTagName('body')[0];
var选择;
selection=window.getSelection();
var oldselection=selection
var pagelink=“
阅读更多:;//如果愿意,请更改此选项
var copy_text=选择+页面链接;
var new_div=document.createElement('div');
新_div.style.left='-9999px';
新的分区样式。位置='absolute';
body_元素.appendChild(新的_div);
new_div.innerHTML=复制_文本;
选择。选择所有子项(新建分区);
setTimeout(函数(){
主体元素移除儿童(新分区);
},0);
}
}
document.oncopy=addLink;
我使用的是同一篇文章,但它对我也不起作用。我所做的是对代码进行一些修改,使其始终允许此功能
<?php
/*******************************
*
* Read more Copyright Text
*
*******************************/
function add_copyright_text() {
?>
<script type='text/javascript'>
function addLink() {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var oldselection = selection
var pagelink = "<br /><br /> Read more at XXX: <?php the_title(); ?> <a href='<?php echo get_permalink(get_the_ID()); ?>'><?php echo get_permalink(get_the_ID()); ?></a>"; //Change this if you like
var copy_text = selection + pagelink;
var new_div = document.createElement('div');
new_div.style.left='-99999px';
new_div.style.position='absolute';
body_element.appendChild(new_div );
new_div.innerHTML = copy_text ;
selection.selectAllChildren(new_div );
window.setTimeout(function() {
body_element.removeChild(new_div );
},0);
}
document.oncopy = addLink;
</script>
<?php
}
add_action( 'wp_head', 'add_copyright_text');
?>
函数addLink(){
var body_element=document.getElementsByTagName('body')[0];
var选择;
selection=window.getSelection();
var oldselection=selection
var pagelink=“
在XXX上阅读更多信息:”;//如果愿意,请更改此选项
var copy_text=选择+页面链接;
var new_div=document.createElement('div');
新_div.style.left='-9999px';
新的分区样式。位置='absolute';
body_元素.appendChild(新的_div);
new_div.innerHTML=复制_文本;
选择。选择所有子项(新建分区);
setTimeout(函数(){
主体元素移除儿童(新分区);
},0);
}
document.oncopy=addLink;
这不是一个很大的变化。我所做的只是删除以下条件:
如果(is_single()){?>…这是我更好的解决方案,它将链接到当前打开的URL:
/*---------------------------------------------------------------------------*/
/* give paste content link back
/*---------------------------------------------------------------------------*/
function add_copyright_text() {
?>
<script type='text/javascript'>
function addLink() {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var oldselection = selection
var pagelink = "<br /><br /> link : <a href='http://<?php echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>'>http://<?php echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?></a>"; //Change this if you like
var copy_text = selection + pagelink;
var new_div = document.createElement('div');
new_div.style.left='-99999px';
new_div.style.position='absolute';
body_element.appendChild(new_div );
new_div.innerHTML = copy_text ;
selection.selectAllChildren(new_div );
window.setTimeout(function() {
body_element.removeChild(new_div );
},0);
}
document.oncopy = addLink;
</script>
<?php
}
add_action( 'wp_head', 'add_copyright_text');
?>
/*---------------------------------------------------------------------------*/
/*返回粘贴内容链接
/*---------------------------------------------------------------------------*/
函数add_copyright_text(){
?>
函数addLink(){
var body_element=document.getElementsByTagName('body')[0];
var选择;
selection=window.getSelection();
var oldselection=selection
var pagelink=“
link:;//如果愿意,请更改此选项
var copy_text=选择+页面链接;
var new_div=document.createElement('div');
新_div.style.left='-9999px';
新的分区样式。位置='absolute';
body_元素.appendChild(新的_div);
new_div.innerHTML=复制_文本;
选择。选择所有子项(新建分区);
setTimeout(函数(){
主体元素移除儿童(新分区);
},0);
}
document.oncopy=addLink;
@JustinWood这是绝对可以做到的。例如,在这里复制一些文本并检查你的剪贴板:@popleak这个问题与如何在Wordpress平台上实现这一点有关,因此不是与你链接的问题重复。@Henrikpeterson你是否像我告诉你的那样检查了JavaScript控制台?这种高级剪贴板m操作带来的麻烦远大于它带来的好处。用户只需删除强制消息,为什么还要麻烦呢?@user555正是因为这个原因:“