尝试将此脚本复制到剪贴板而不是回到页面。单击链接时,应将其复制到剪贴板。至少这是我的意图。以下是一些背景事实:
我意识到这是旧技术,但现在需要这样。
<!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>
答案 0 :(得分:12)
select()
没有td
- 方法 - 元素。
您可以直接访问剪贴板而无需使用复制命令:
window.clipboardData.setData('Text', copytext);
请参阅:http://msdn.microsoft.com/en-us/library/ie/ms536744%28v=vs.85%29.aspx