js复制到剪切板,兼容chrome,Firefox

阿紫 posted @ 2012年11月22日 15:30 in javascript , 11335 阅读

    在做短网址的过程中遇到一个问题,需要做一个按钮,点击的时候将生成的短网址复制到剪切板,开始的代码是这样写的:

var str=document.getElementById('url').value; 
if(window.clipboardData){ 
         window.clipboardData.clearData();                                                       
         window.clipboardData.setData("Text",str);                                 
         alert("复制成功!");
 }

但是这种方法只在IE下有效,试了网上说的一些方法,但是效果都不大好,甚至需要用户去设置浏览器,最后看到一个说是需要一个ZeroClipboard.js,依靠flash来中转,测试成功。这是ZeroClipboard.js的下载地址:https://code.google.com/p/zeroclipboard/   测试代码如下:

 

<script type="text/javascript" src="ZeroClipboard.js"></script>
<script language="JavaScript">		
	function toClipboard(ID) {
                var str=document.getElementById('url').value;
		var clip = new ZeroClipboard.Client();
		clip.setHandCursor( true );
		clip.setText(str);		
		clip.addEventListener('complete', function (client, text) {
				alert("复制成功!!");
		              });
		clip.glue(strID);
	}
</script>

<input type="button" value="copy" onclick="javascript:toClipboard(this.id);"/>

但是在火狐下还是不兼容......

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

    好吧,今天在Firefox下测试的时候又可以了。。。

  • 无匹配
Avatar_small
依云 说:
2012年11月22日 19:34

我刚刚试过了 zeroclipboard 的官方测试页面,火狐没问题的呀。

Avatar_small
阿紫 说:
2012年11月23日 16:08

奇怪了,我今天测试也没问题,昨天就是不行,连官方测试页面也不行


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter