`
gouxychina
  • 浏览: 33145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用Flash AS3的Clipboard类实现js复制连接功能

阅读更多
大家都知道JS(clipboardData.setData)实现的剪切板复制功能,在IE浏览器里会弹出一个对话框询问是否允许访问,而firefox则干脆不允许自动复制,要用户手动来完成,实在是很不方便,所以这里特别用flash来通过外部取得连接地址,完成传递到剪切板的功能,免除了浏览器的不兼容性,也达到了良好的用户体验。
     现在贴出主体类,并加以说明,大家可以直接拿走放在自己的项目里调用使用:

// CopyURL by orrincui
// new CopyURL("来吧:http://www.hexun.com","icon.gif")

package gouxychina.util.text
{
import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;
import flash.display.Bitmap;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.filters.DropShadowFilter;
import flash.ui.Mouse;

public class CopyURL extends Sprite
{
   private var loader:Loader;
   private var image:Bitmap;
   private var url:String;
  
   /*
   url:外部传递任何文本内容,这里指URL地址
   skinPath:指定模仿按钮的图片地址
   */
   public function CopyURL(url:String,skinPath:String)
   {
    this.url=url;
    loadSkin(skinPath);
   
   }
   //给剪切板赋值
   private function setClipboard():void{
    Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT,this.url);
   }
  
   //加载图片按钮路径
   private function loadSkin(skinPath:String):void{
    loader=new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onSkinLoad);
    loader.load(new URLRequest(skinPath));
   }
  
   //处理加载图片,赋予常用的三种鼠标事件,进行响应处理
   private function onSkinLoad(event:Event):void{
    image=Bitmap(loader.content);
    addChild(image);
    this.addEventListener(MouseEvent.CLICK,onMouseClick);
    this.addEventListener(MouseEvent.MOUSE_OVER,onMouseOver);
    this.addEventListener(MouseEvent.MOUSE_OUT,onMouseOut);
   }
  
   //可自行修改自己喜欢的鼠标状态
   private function onMouseClick(me:MouseEvent):void{
    setClipboard();
   }
   private function onMouseOver(me:MouseEvent):void{
    Mouse.cursor="hand";
    image.filters = [new DropShadowFilter()];
    this.useHandCursor=true;
   }
   private function onMouseOut(me:MouseEvent):void{
    Mouse.cursor="auto";
    image.filters = [];
    this.useHandCursor=false;
   }
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics