在WEB应用中,有时候会显示一些信息提供给客户进行拷贝,客户拷贝后就能粘贴到其他需要的位置,不需要客户手动的去选择信息然后在点复制。下面就提供一段代码可以同时支持iexplorer和firefox的javascript拷贝到剪贴板功能。

功能会用到一个flash文件。(对应的文件 clipboard.swf 可以在附件的压缩包中找到)

目前的浏览器,基本上都装了flash的插件,因此基本上不会有什么影响。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>同时支持iexplore和firefox的javascript复制拷贝剪贴板方法.txt</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
//copy信息到剪贴板
function cpIt(s){
	if (window.clipboardData) {
		window.clipboardData.setData("Text",s);
	}
	else
	{  
		var flashcopier = 'flashcopier';
		if(!document.getElementById(flashcopier)) {
		  var divholder = document.createElement('div');
		  divholder.id = flashcopier;
		  document.body.appendChild(divholder);
		}
		document.getElementById(flashcopier).innerHTML = '';
		var divinfo = '<embed src="clipboard.swf" FlashVars="clipboard='+encodeURIComponent(s)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
		document.getElementById(flashcopier).innerHTML = divinfo;
	}
	alert("\r\n信息:"+s+"\r\n\r\n恭喜您,您需要的信息已经被成功复制到剪贴板了!\r\n\r\n贴心小提示:(1) 按 Ctrl+v 可以将上面信息粘贴到您指定的位置。\r\n\r\n                        (2) 按空格键可迅速关闭本提示框");
}
</script>
</head><body>
<input type="text" name="idCopyText" id="idCopyText" value="要拷贝的文字..."><input type="button" value="拷贝到剪贴板" onclick="cpIt(document.getElementById('idCopyText').value);">
</body></html>





附件:本文中使用的测试例子压缩包 example.zip


------------------------------------------------------------



分享知识,分享快乐,希望文章能给需要的朋友带来小小的帮助。