我的剧本赢了'不能在IE中工作(甚至9)?修改复制文本的简单javascript

My script won't work in IE (even 9)? simple javascript to amend copy text

本文关键字:甚至 修改 复制 javascript 简单 文本 工作 IE 不能 我的      更新时间:2023-09-26

所以有一天我在浏览互联网,复制了一大块文本"我的酷文本"并将其粘贴到facebook上,却发现它将其更改为"my cool text-Read More atURL,我很敬畏!太棒了!

所以我花了一点时间,找到了一些教程之类的。我自己把它转换成一个有几十个选项的可定制插件,它输出这个(或类似的基于选项的):

function copyCopyright() {
    var theBody = document.getElementsByTagName("body")[0];
    var selection;
    selection = window.getSelection();
    var copyrightLink = '<br /><br />Read more at: '+document.location.href+'<br /> &copy;2012  ';
    var copytext = selection + copyrightLink;
    var extraDiv = document.createElement("div");
    extraDiv.style.position="absolute";
    extraDiv.style.left="-99999px";
    theBody.appendChild(extraDiv);
    extraDiv.innerHTML = copytext;
    selection.selectAllChildren(extraDiv);
    window.setTimeout(function() {
        theBody.removeChild(extraDiv);
    },0);
}
document.oncopy = copyCopyright;​

适用于Chrome和Firefox等。但当然,它在IE(甚至IE9!)中也不起作用。我对Javascript还很陌生,尤其是用它查找IE问题

是否有一个函数或方法或上面的东西IE无法识别,我必须找到另一种方法?

IE需要

document.body.oncopy=copyCopyright

已添加到您的加载事件。(主体在加载之前不存在)