u012210662
Heartbeas
2018-02-03 03:32
采纳率: 100%
浏览 10.7k

js实现自动复制(不是点击),能够兼容所有浏览器

js访问页面实现自动复制,兼容所有浏览器,不是点击页面元素,而是访问就能复制到剪切板。
用Clipboard.js就行,主要是实现自动 复制。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • qq_38365488
    乔乔说 2018-02-03 04:06
    已采纳

    Clipboard.js可以

    点赞 评论
  • qq_35436635
    老王生涯 2018-02-03 05:01

    可以将点击事件执行的方法在页面加载完成之后就执行。例如:

     <script>
    window.onload(function(){
        ...
            your coue...
            ...
    });
    </script>
    
    点赞 评论
  • qq_37524684
    子幽 2018-02-03 06:09

    自动是怎么个说法,总得有个触发事件,比如定时触发,页面加载前触发,页面加载后触发,点击触发,鼠标触发,内容改变后触发。。。。。。。

    点赞 评论
  • showbo

    clipboard.js自动复制测试了不行,会报错,需要人工点击过复制按钮才行。

     <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
    <textarea id="ta">felfjelfj</textarea>
    <button id="target" action="copy" data-clipboard-target="#ta">Copy to clipboard</button>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
    <script>
        var clipboard = new Clipboard('#target'),timer;
        clipboard.on('success', function (e) { e.clearSelection(); clearInterval(timer);alert('复制成功,停止计时器') });
        clipboard.on('error', function (e) {  console.log('error',e)});
        $(window).load(function () {//自动复制
           timer= setInterval(function () { $('#target').trigger('click'); }, 1000)
        })
    </script>
    
    点赞 评论
  • x67_lixing159146
    压力无限大 2018-02-03 09:38

    自动复制是不能实现的,浏览器有安全机制,必须用户至少进行了一次点击操作才可以

    点赞 评论
  • qq_36459934
    髙兴同学 2018-02-04 08:50

    function clipboard(Data) {
    if (window.clipboardData) {
    window.clipboardData.clearData();
    window.clipboardData.setData("Text", Data);
    alert("您的邀请宣言和专属链接已复制,请Ctrl+V或粘贴给您的老友!")
    } else if (navigator.userAgent.indexOf("Opera") != -1) {
    window.location = Data;
    alert("您的邀请宣言和专属链接已复制,请Ctrl+V或粘贴给您的老友!");
    } else if (window.netscape) {
    try {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    } catch (e) {
    alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");
    }
    var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
    if (!clip)
    return;
    var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
    if (!trans)
    return;
    trans.addDataFlavor('text/unicode');
    var str = new Object();
    var len = new Object();
    var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
    var copytext = Data;
    str.data = copytext;
    trans.setTransferData("text/unicode", str, copytext.length * 2);
    var clipid = Components.interfaces.nsIClipboard;
    if (!clip)
    return false;
    clip.setData(trans, null, clipid.kGlobalClipboard);
    alert("您的邀请宣言和专属链接已复制,请Ctrl+V或粘贴给您的老友!")
    }
    }

    来自http://blog.csdn.net/Astpiy/article/details/8835309

    点赞 评论
  • qq_37524684
    子幽 2018-02-05 01:25

    <br> window.ready(function(){<br> //你的代码<br> });<br>

    
    
    点赞 评论

相关推荐