ZeroClipboard支持IE,firefox,Chrome复制到剪贴板

sfkong 2012-09-27

在说到ZeroClipboard之前,先说说为何会用到ZeroClipboard。有时候需要在触发某JavaScript事件的同时,将某段文本复制到剪贴板。比如直接通过点击某复制按钮,将textarea中的内容复制到剪贴板

考虑浏览器的兼容性,最近用ZeroClipboard

注意:

ZeroClipboard在本地磁盘上测试无法使用,必须在服务器上测试,如http://localhost...

或者更改flash的安全设置:右键-全局设置-高级-受信任位置设置-添加-添加文件夹(把含有ZeroClipboard.swf的文件添加进去),设置以后就可以在本地测试了...

 
1.<a href="javascript:void(0)" id="btnCopy_1" copyContent="aaa">复制链接</a>  
2.  
3.<a href="javascript:void(0)" id="btnCopy_2" copyContent="ccc">复制链接</a>
$(function(){
    //设置ZeroClipboard.swf的路径
	ZeroClipboard.setMoviePath("<%=path %>/scripts/ZeroClipboard.swf"); 
	$("a[id^=btnCopy_]").each(function(){
		var clip = new ZeroClipboard.Client(); 	
		clip.setHandCursor(true); 
		
		var obj = $(this);
        var id = $(this).attr("id");
        var content = $(this).attr("copyContent");
		clip.setText(content);  
		clip.glue(id);
		
		//鼠标移上时改变按钮的样式   
		clip.addEventListener( "mouseOver", function(client) {  
		    obj.css("color","#FF6600"); 
		});   
		//鼠标移除时改变按钮的样式  
		clip.addEventListener( "mouseOut", function(client) {         
		    obj.css("color","");   
		}); 
		//这个是复制成功后的提示  
		clip.addEventListener( "complete", function(){  
		    alert("已经复制到剪切板!"+"\n"+content);   
		}); 
	});
});

 这是在项目中遇见的问题,在这里标记一下