手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Js+Flash实现访问剪切板操作
Js+Flash实现访问剪切板操作
摘要:最近需要遇到了这个问题点击按钮复制链接的功能果断度娘谷哥。最后找到得解决方案ZeroClipBoard一款开源得js+Flash实现得剪切板...

最近需要遇到了这个问题点击按钮复制链接的功能果断度娘谷哥。最后找到得解决方案ZeroClipBoard一款开源得js+Flash实现得剪切板操作

但是搜寻了众多例子之后发现大多都是介绍一个页面只有一个固定的复制操作

Js+Flash实现访问剪切板操作1

而我得需求是这样

一个动态Repeater动态加载出各个地址和复制按钮。

这个解决方案得原理是:

拿js动态加载一个透明flash.然后遮盖到你要点击得按钮上面,之后在给这个flash得承载元素上绑定事件动态把要复制得值传递到flash中,用flash访问剪切板.

这时候就出现这么一个问题多个按钮如果每个按钮都加栽一遍flash得话会很吃内存并且动态得代码也不是很好写

最后得解决方案如下:

复制代码 代码如下:

<divid="ClipSwf"style="left:-1000px;position:absolute;width:80px;height:25px;"></div>

1.现在Body中放置一个隐藏得flash容器绝对定位

复制代码 代码如下:

varLocalUrlManage={

Clip:null,

ClipContainer:null,

InitClip:function(){

LocalUrlManage.Clip=newZeroClipboard.Client();

LocalUrlManage.ClipContainer=$("#ClipSwf");

LocalUrlManage.Clip.setHandCursor(true);

LocalUrlManage.Clip.setCSSEffects(true);

LocalUrlManage.Clip.addEventListener("complete",function(client,text){

Tip.RightTip("#UrlAdd",text+","+"复制成功!");

});

LocalUrlManage.ClipContainer.html(LocalUrlManage.Clip.getHTML(80,25));

}}

2.使用js在页面加载完成得时候初始化剪切板的对象并设置鼠标手势和承载容器然后把flash输出成html输出到容器中

复制代码 代码如下:

onmouseover="LocalUrlManage.SetClipValue(this,'#copyUrlValue<%#Eval("Id")%>')">点击复制</button>

复制代码 代码如下:

SetClipValue:function(obj,SelectorEl){

//BrowserClip.IEClip($(SelectorEl).val());

varoffset=$(obj).offset();

LocalUrlManage.ClipContainer.offset({left:offset.left,top:offset.top});

LocalUrlManage.Clip.setText($(SelectorEl).val());

}.

3.在各个复制按钮上动态绑定事件并把响应的要复制得值或者控件传递到function中之后设置隐藏flash容器得left,top边距让其漂浮在触发该事件得按钮上并把要复制的值通过

Clip.setText('text')(插件提供得方法)传递给flash这样就实现了多个按钮复制得功能

未解决问题,原本按钮得hovercss切换效果flash遮盖之后就不太灵活了。用jquery动态添加样式效果也不太好。

【Js+Flash实现访问剪切板操作】相关文章:

javascript实现十秒钟后注册按钮可点击的方法

js+cookies实现悬浮购物车的方法

用JavaScript实现对话框的教程

js实现文本框选中的方法

JS+DIV实现鼠标划过切换层效果的方法

jQuery实现在列表的首行添加数据

javascript实现行拖动的方法

jQuery实现的多屏图像图层切换效果实例

JS实现定时自动关闭DIV层提示框的方法

javascript实现获取服务器时间

精品推荐
分类导航