复制到剪切板 兼容(IE/FF/Chrome/..)

时间:2022-09-14 21:00:19

最近做一个复制到剪切板的功能   在网上找了很多都不好用  

最后发现在了  这篇文章很不错  简洁好用   贴出来  希望能帮到更多人

原文地址:http://www.lsproc.com/wiki/snippets:copytoclipboard

此代码修改自 discuz!, 简易实现

代码如下:

<script>
var clipboardswfdata;

var setcopy_gettext = function(){
clipboardswfdata = document.getElementById('data').value;
window.document.clipboardswf.SetVariable('str', clipboardswfdata);
}

var floatwin = function(){
alert('copy success, ' + clipboardswfdata);
}
</script>


        
<style type="text/css">
body {font-size:12px;}
.clipinner {position:relative;}
.clipboardswf {position:absolute; left:0; top:0;}
</style>

<input type="text" name="data" value="xxxxx11111" id ="data" />
<div id="clipboard_content">
<span class="clipinner" id="clipinner">点此复制到剪贴板
<embed name="clipboardswf" class="clipboardswf" id="clipboardswf" onmouseover="setcopy_gettext()" devicefont="false" src="./clipboard.swf" menu="false" allowscriptaccess="sameDomain" swliveconnect="true" wmode="transparent" type="application/x-shockwave-flash" height="20" width="100">
</span>
</div>

实现稍微有些恶心, 用 onmouseover 事件往 flash 中传递数据 
另: 没有对ie单独处理, ie中推荐使用 window.clipboardData

演示地址: http://www.lsproc.com/demo/clipboard/demo.html 

下载:clipbord.zip




 

另: google code 上有个 zeroclipboard 的项目, 如果想要方便的话, 也可以使用 

地址: http://code.google.com/p/zeroclipboard/