Javascript 复制到剪贴板以便IE几乎正常工作?

Javascript 复制到剪贴板以便IE几乎正常工作?,javascript,html,forms,Javascript,Html,Forms,正在尝试将此脚本复制到剪贴板,而不是复制回页面。当你点击链接时,它会直接复制到剪贴板上。至少这是我的意图。以下是它背后的一些背景事实: 这适用于公司内部网站,该网站独家使用IE,因此不需要与任何其他浏览器兼容 其中的数据是/将是db查询返回的数据 我意识到这是一项古老的技术,但现在需要这样做 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht

正在尝试将此脚本复制到剪贴板,而不是复制回页面。当你点击链接时,它会直接复制到剪贴板上。至少这是我的意图。以下是它背后的一些背景事实:

  • 这适用于公司内部网站,该网站独家使用IE,因此不需要与任何其他浏览器兼容
  • 其中的数据是/将是db查询返回的数据
  • 我意识到这是一项古老的技术,但现在需要这样做

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
            <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript"><!--
    // input field descriptions
    var desc = new Array();
            desc['a1'] = 'First name';
    desc['a2'] = 'Last name';
    desc['a3'] = 'Address';
    desc['a4'] = 'Zip';
    desc['a5'] = 'City';
    desc['a6'] = 'Country';
    
    function CopyFields(){
        var copytext = '';
        for(var i = 0; i < arguments.length; i++){
            copytext += desc[arguments[i]] + ': ' + document.getElementById(arguments[i]).innerText + '\n';}
        var tempstore = document.getElementById(arguments[0]).innerText;
                document.getElementById(arguments[0]).innerText = copytext;
        document.getElementById(arguments[0]).focus();
        document.getElementById(arguments[0]).select();
        document.execCommand('Copy');
        document.getElementById(arguments[0]).innerText = tempstore;
    }
    </script>
    </head>
    <body>
    
    <table>
    <tr>
    <td id="a1" name="t1">a</td>
    <td id="a2" name="t2">b</td>
    <td id="a3" name="t3">c</td>
    <td id="a4" name="t4">d</td>
    <td id="a5" name="t5">e</td>
    <td id="a6" name="t6">f</td>
    </tr>
    </table><br>
    <a href="#" onClick="CopyFields('a1', 'a2', 'a3', 'a4', 'a5', 'a6');">Copy values of text fields to clipboard</a>
    </body> 
    
    </html>
    
    
    对于
    td
    -元素,没有
    select()
    -方法

    您可以不使用“复制”命令直接访问剪贴板:

    window.clipboardData.setData('Text', copytext);
    

    那么什么不起作用了。@Gabe当您单击链接时,它应该将“desc”和“”数据复制到剪贴板中,而不是复制到页面@Dr.Molle的右后方,我的脚本中该将该行放在哪里?window.clipboardData.setData('Text',copytext);用该行替换函数的最后5行