跨浏览器复制文本

为解决Flash 10中_clipboard.swf失效的问题,ZeroClipboard通过透明Flash实现剪贴板操作。用户交互DOM元素时,实际触发的是其上的透明Flash,进而启用剪贴板功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      Flash 10 之后 _clipboard.swf 失效了,因为flash10中规定了只有在swf上进行了实际的操作(比如鼠标点击)才能启动剪切板。
      Zero Clipboard ,它包含一个flash影片和一个JavaScript接口,这个flash是透明的(不是隐藏),用户不会察觉到它的存在。这个flash覆盖在一个DOM元素上,比如button,div之类,当点击这个DOM时,你实际点击的是这个flash,这个作用在flash上的动作能够开启flash的剪切板。这实际上就是一种clickjacking。
 
< script type = " text/javascript "  src = " ZeroClipboard.js " ></ script >  
 
< script language = " JavaScript " >
  var clip 
=   null ;
   
  function $(id) { 
return  document.getElementById(id); }
   
  function init() {
   clip 
=   new  ZeroClipboard.Client();  // 新建
   clip.setHandCursor(  true  );  // 设定MOUSE样式
    
   clip.addEventListener(
' load ' , my_load);  // 载入时
   clip.addEventListener( ' mouseOver ' , my_mouse_over);  // 点击时
   clip.addEventListener( ' complete ' , my_complete);  // 点击后
    
   clip.glue( 
' d_clip_button '  );  // 绑定按所扭ID
  }
   
  function my_load(client) {
   alert(
" Flash movie loaded and ready. " );
  }
   
  function my_mouse_over(client) {
   
//  we can cheat a little here -- update the text on mouse over
   clip.setText( $( ' fe_text ' ).value );
  }
   
  function my_complete(client, text) {
   alert(
" Copied text to clipboard:  "   +  text );
  }
 
</ script >

转载于:https://www.cnblogs.com/fdszlzl/archive/2009/06/02/1494843.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值