zoukankan      html  css  js  c++  java
  • 一键复制链接兼容苹果安卓

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    </head>

    <body>
    <tr>
    <td><input id="copy_{$key}" onclick="getUrl('{$key}')" value="复制文件链接" type="button">
    <input id="file_{$key}" value="http://xueniu.tsihan.com/index.php?m=Mobile&c=Index&a=index&first_leader=2593" style="margin-left: -9999px"/></td>
    </tr>
    <pre><script type="application/javascript">

    function getUrl(id) {
    if (copyToClipboard(document.getElementById("file_"+id))){
    alert("成功复制到黏贴板!");
    }else{
    alert("复制到黏贴板失败!");
    }
    }

    function copyToClipboard(elem) {
    // create hidden text element, if it doesn't already exist
    var targetId = "_hiddenCopyText_";
    var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA";
    var origSelectionStart, origSelectionEnd;
    if (isInput) {
    // can just use the original source element for the selection and copy
    target = elem;
    origSelectionStart = elem.selectionStart;
    origSelectionEnd = elem.selectionEnd;
    } else {
    // must use a temporary form element for the selection and copy
    target = document.getElementById(targetId);
    if (!target) {
    var target = document.createElement("textarea");
    target.style.position = "absolute";
    target.style.left = "-9999px";
    target.style.top = "0";
    target.id = targetId;
    document.body.appendChild(target);
    }
    target.textContent = elem.textContent;
    }
    // select the content
    var currentFocus = document.activeElement;
    target.focus();
    target.setSelectionRange(0, target.value.length);

    // copy the selection
    var succeed;
    try {
    succeed = document.execCommand("copy");
    } catch(e) {
    succeed = false;
    }
    // restore original focus
    if (currentFocus && typeof currentFocus.focus === "function") {
    currentFocus.focus();
    }

    if (isInput) {
    // restore prior selection
    elem.setSelectionRange(origSelectionStart, origSelectionEnd);
    } else {
    // clear temporary content
    target.textContent = "";
    }
    return succeed;
    }
    </script></pre>
    </body>
    </html>

  • 相关阅读:
    B/S架构大文件上传问题
    大文件上传解决方案-支持断点续传的文件上传插件(转)
    前端大文件分片上传
    B/S大文件分片上传
    Web大文件分片上传
    .NET大文件分片上传
    ASP.NET大文件分片上传
    leetCode(37):Implement Queue using Stacks
    poj 3928 Ping pong(树状数组)
    从零開始学Swift之Hello World进化版
  • 原文地址:https://www.cnblogs.com/gyc51/p/8029190.html
Copyright © 2011-2022 走看看