复制到剪贴板的IE差不多的工作?(copy to Clipboard for IE almost w

2019-08-22 02:52发布

试图让这个脚本复制到剪贴板,而不是返回到该页面。 当你点击链接应该正确复制到剪贴板。 至少这是我的本意。 这里有一些背景事实屁股吧:

  • 这是一个使用IE exclusivly因此它不需要与任何其他浏览器兼容的公司内部网站
  • 其内部数据/将来自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> 

Answer 1:

没有select() -方法用于td -elements。

您可以直接访问剪贴板不使用拷贝命令:

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

请参阅: http://msdn.microsoft.com/en-us/library/ie/ms536744%28v=vs.85%29.aspx



文章来源: copy to Clipboard for IE almost working?