Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户复制时链接回站点&;粘贴文本在Wordpress中不起作用_Javascript_Php_Wordpress_Url_Copy Paste - Fatal编程技术网

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()) {

每当用户复制文本时,我想将链接添加回我的站点

每当用户从我的站点复制文本时,我都想添加一个链接回我的站点。比如“在我的网站上阅读更多信息:URL”。我相信你以前也遇到过这种情况

我在野外(Wordpress)发现了这段代码,但它根本不起作用。我用最新版本的Firefox和Safari在WordPress3.8上测试了它。Javascript代码有什么问题吗?还是Wordpress代码本身

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正是因为这个原因:“