方便、简洁:Flash AS3实现多浏览器兼容复制按钮【转载】

众所周知,在网页中若想实现点击按钮自动复制到剪贴板中可以用以下代码实现:

 

[javascript]   view plain copy print ?
  1. if(window.clipboardData) {  
  2.     window.clipboardData.clearData();  
  3.     window.clipboardData.setData("text""这是复制的文字");  
  4. }  

 

 

但可惜的是,这种方式只支持IE内核浏览器。

而对于浏览器来说,Flash不存在兼容性问题,因此我们可以通过ActionScript来实现复制:

 

[javascript]   view plain copy print ?
  1. System.setClipboard("你要复制的内容");  

 

 

而网页中要做的是显示并通过flashvars将内容传给Flash。

 

[html]   view plain copy print ?
  1. <object type="application/x-shockwave-flash" data="clipboard.swf" width="16" height="16" id="clipboard" style="position:absolute;">  
  2.     <param name="wmode" value="transparent">  
  3.     <param name="allowScriptAccess" value="always">  
  4.     <param name="flashvars" value="content=要复制的内容">  
  5. </object>  

 

 

也有一种更加简洁的方法:

 

[html]   view plain copy print ?
  1. <embed width="16" height="16" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" flashvars="clipboard=要复制的内容" menu="false" src="clipboard.swf" />  

 

 

当然现在只是一片空白,怎么给它加上图片或者文字呢?

 

[html]   view plain copy print ?
  1. <div style="position:relative;">  
  2.     <object type="application/x-shockwave-flash" data="clipboard.swf" width="100%" height="100%" id="clipboard" style="position:absolute;">  
  3.         <param name="wmode" value="transparent">  
  4.         <param name="allowScriptAccess" value="always">  
  5.         <param name="flashvars" value="content=要复制的内容">  
  6.     </object>  
  7.     <a href="#">复制</a>  
  8. </div>  

 

 

 

[html]   view plain copy print ?
  1. <div style="position:relative;">  
  2.     <embed width="16" height="16" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" flashvars="clipboard=要复制的内容" menu="false" src="clipboard.swf" style="position:absolute;" />  
  3.     <a href="#">复制</a>  
  4. </div>  

 

 

若要显示图片的话就直接将[ccei_html]<a href="#">复制</a>[/ccei_html]换成[ccei_html]<img src="图片地址" />[/ccei_html]即可,当然还要注意修改Flash的大小使之与文字或图片匹配,效果如同代码高亮右上角复制按钮。

转载于:https://www.cnblogs.com/smsyouke/archive/2012/05/07/2487551.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值