这是因为当发出copy命令时,上面创建的input节点很可能还未创建完毕(这是个异步过程),所以就失败了。如果你的目的是想把文本复制到剪贴板,建议用下面的代码,兼容大部分浏览器,而且无需创建Input节点,一切在静默中进行:
function copyToClipboard(s){if(window.clipboardData){
window.clipboardData.setData('text',s)
}else{
document.oncopy=function(e){
e.clipboardData.setData('text',s)
e.preventDefault()
document.oncopy=null
}
document.execCommand('Copy')
}
}
用法举例:
copyToClipboard('HIQrwy88iV')你可以在它的onactivate()内做处理是body的方法.应该是所有对象都有,from,window 都可以.
onactivate() 当对象设置为活动元素时触发。
OnDeactivate() 当对象设置为非活动元素时触发.
明白了吗?
要取得这些信息,首先是客户端浏览器未禁止activex,js调用activex通过注册表读取硬件信息,我只知道cpu信息保存到注册表的位置,硬盘和内存和主板保存在哪不清楚,有空帮你找找<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE>New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""></HEAD><script language="javascript">function readRegedit()</script><BODY><input type="button" value="cpu信息" onclick="readRegedit()"/></BODY></HTML> 点击按钮则可以得到cpu信息