大家都知道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;
}
}
}
分享到:
相关推荐
因需求要实现点击复制功能。使用clipboard.js实现页面内容复制到剪贴板。
js插件clipboard实现复制文本的功能
实现复制功能。兼容性较好的一款插件。。希望能够帮助到你。
clipboard.js是一款轻量级的实现复制文本到剪贴板功能的JavaScript插件。通过该插件可以将输入框,文本域,DIV元素中的文本等文本内容复制到剪贴板中。它不依赖flash,使用非常简单。
H5基于clipboard.js点击复制
clipboard.min.js 实现复制图文信息,(vue 里面可以使用) 博客链接:https://blog.csdn.net/qq_40591925/article/details/125282512?spm=1001.2014.3001.5502
JavaScript 无需flash内容复制 Clipboard.js v2.0.4.zip
clipboard复制粘贴功能
clipboard.js是一个github上的开源项目,clipboard.js 实现了纯 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板的功能。可以在浏览器和 Node 环境中使用。支持 Chrome 42+、Firefox 41+、IE 9+、Opera 29+
剪切板复制 JS插件 clipboard.min.js
利用clipboard.js 实现复制功能,兼容各大浏览器
用C#的Clipboard类实现获取剪贴板的类型信息,并显示。
之前一直在使用ZeroClipboard来复制,可是在新版chrome以及大多数浏览器开始屏蔽lash,这时我们得用其它方法,clipboard.js的出现很好的解决了这个问题,它不但体积小,使用也非常的方便几行代码即可完成,可以实现...
clipboard.js是一个不依赖 Flash,将文本复制到剪贴板的插件,浏览网址:https://clipboardjs.com,http://www.bootcdn.cn/clipboard.js/
页面引用 clipboard.min.js js加: //复制文本值 var clipboard = new Clipboard('.copySrc'); clipboard.on('success', function(e) { console.info('Action:', e.action); console.info('Text:', e.text); ...
然后把在你要使用复制功能的页面中引入Zero Clipboard的js文件:ZeroClipboard.js 如下代码: [removed][removed] 注意:以上 ZeroClipboard.js, ZeroClipboard.swf需要放在同一路径下。如果不在同一路径,可使用...
Clipboard.js v1.5.15 发布了,Clipboard.js 实现了纯 JavaScript 无 Flash的浏览器内容复制到系统剪贴板的功能。可以在浏览器和 Node 环境中使用。
Zero Clipboard 利用 Flash 进行复制 跨浏览器兼容
JS实现clipboard.min.js下载, 实现复制粘贴功能