位置: 编程技术 - 正文

Zero Clipboard js+swf实现的复制功能使用方法

编辑:rootadmin
开发中经常会用到复制的功能,在 IE 下实现比较简单。但要想做到跨浏览器比较困难了。本文将介绍一个跨浏览器的库类 Zero Clipboard 。它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的 document.execCommand("Copy") 更加灵活。 Zero Clipboard 的实现原理 Zero Clipboard 利用 Flash 进行复制,之前有 Clipboard Copy 解决方案,其利用的是一个隐藏的 Flash。但最新的 Flash Player 只允许在 Flash 上进行操作才能启动剪贴板。所以 Zero Clipboard 对此进行了改进,用了一个透明的 Flash ,让其漂浮在按钮之上,这样其实点击的不是按钮而是 Flash ,也就可以使用 Flash 的复制功能了。 如何使用 Zero Clipboard 首先下载 Zero Clipboard ,并解压缩。其中需要两个文件:ZeroClipboard.js 和 ZeroClipboard.swf ,将这两个文件放入到你的项目中。 下载地址Zero Clipboard 开源的 JavaScript+flash 复制库类演示地址: 第一步,导入 ZeroClipboard.js 文件: <script type="text/javascript" src="ZeroClipboard.js"></script> 再设置 ZeroClipboard.swf 文件的路径: ZeroClipboard.setMoviePath( "ZeroClipboard.swf" ); 注意:以上 ZeroClipboard.js, ZeroClipboard.swf 两个文件的路径都需要替换为你项目中对应文件的路径。或者也可以是一个绝对路径。 然后就使用了: 这样,这样基本功能实现了,点击按钮就可以复制设置好的文本了。你可能注意到了,待复制的文本是固定的,如果想要动态改变的怎么办,比如复制一个输入框中的内容。不用担心,下面会讲到的。 其他函数 Zero Clipboard 还提供了一些其他的函数,其中有一些非常有用。 reposition() 方法 因为按钮上漂浮有一个 Flash 按钮,所以当页面大小发生变化时,Flash 按钮可能会错位,这样就点不着了。 不要紧,Zero Clipboard 提供了一个 reposition() 方法,可以重新计算 Flash 按钮的位置。我们可以将它绑定到 resize 事件上。 bind 是一个跨浏览器的事件绑定函数。=========================================================这个想必大家都已知道。IE 的事件绑定函数是 attachEvent;而 Firefox, Safari 是 addEventListener;Opera 则两种都支持。下面进行封装。 例如添加一个页面点击事件: =========================================================hide() 和 show() 方法 这两个方法可以隐藏和显示 Flash 按钮 。其中 show() 方法会调用 reposition() 方法。 setCSSEffects() 方法 当鼠标移到按钮上或点击时,由于有 Flash 按钮的遮挡,所以像 css ":hover", ":active" 等伪类可能会失效。setCSSEffects() 方法就是解决这个问题。首先我们需要将伪类改成类,比如: 我们可以调用 clip.setCSSEffects( true ); 这样 Zero Clipboard 会自动为我们处理:将类 .hover 当成伪类 :hover 。 getHTML() 方法 如果你想自己实例一个 Flash ,不用 Zero Clipboard 的附着方法,那么这个方法就可以帮上忙了。它接受两个参数,分别为 Flash 的宽度和高度。返回的是 Flash 对应的 HTML 代码。例如: var html = clip.getHTML( , ); 你可以用 innerHTML 或直接 document.write(); 进行输出。 以下是我测试下输出的 HTML 代码: <embed id="ZeroClipboardMovie_1" src="zeroclipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="" height="" name="ZeroClipboardMovie_1" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage=" flashvars="id=1&width=&height=" wmode="transparent" /> IE 的 Flash JavaScript 通信接口上有一个 bug 。你必须插入一个 object 标签到一个已存在的 DOM 元素中。并且在写入 innerHTML 之前请确保该元素已经 appendChild 方法插入到 DOM 中。 Zero Clipboard 事件处理 Zero Clipboard 提供了一些事件,你可以自定义函数处理这些事件。Zero Clipboard 事件处理函数为 addEventListener(); 例如当 Flash 完全载入后会触发一个事件 "load" 。 clip.addEventListener( "load", function(client) { alert("Flash 加载完毕!"); }); Zero Clipboard 会将 clip 对象作为参数传入。即上例中的 "client" 。 还有 "load" 也可以写成 "onLoad",其他的事件也可以这样。 其他事件还包括: mouseOver 鼠标移上事件 mouseOut 鼠标移出事件 mouseDown 鼠标按下事件 mouseUp 鼠标松开事件 complete 复制成功事件 其中 mouseOver 事件和 complete 事件比较常用。 前面说过,如果需要动态改变待复制的内容,那 mouseOver 事件就可以派上用场了。例如需要动态复制一个 id 为 test 的输入框中的值,我们可以在鼠标 over 的时候重新设置值。 clip.addEventListener( "mouseOver", function(client) { var test = document.getElementById("test"); client.setText( test.value ); // 重新设置要复制的值 }); 复制成功: clip.addEventListener( "complete", function(){ alert("复制成功!"); }); 好了,就介绍到这里吧。赶快自己试验下吧。

推荐整理分享Zero Clipboard js+swf实现的复制功能使用方法,希望有所帮助,仅作参考,欢迎阅读内容。

Zero Clipboard js+swf实现的复制功能使用方法

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Javascript常考语句条收集 1.document.write("");输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document-html-(head,body)4.一个浏览器窗口中的DOM顺序是:window-(navigator,screen,history,location,docume

Javascript Math ceil()、floor()、round()三个函数的区别 ceil():将小数部分一律向整数部分进位。如:Math.ceil(.2)//返回Math.ceil(.7)//返回Math.ceil(.0)//返回floor():一律舍去,仅保留整数。如:Math.floor(.2)

Javascript 入门基础学习 一.JavaScript简介:学习JavaScript之前,有些东西你需要先了解:HTMLXHTML我觉得这些不需要太深入,懂个大概就行。JavaScript是:JavaScript被设计用来向HTML页

标签: Zero Clipboard js+swf实现的复制功能使用方法

本文链接地址:https://www.jiuchutong.com/biancheng/381869.html 转载请保留说明!

上一篇:JavaScript replace(rgExp,fn)正则替换的用法

下一篇:Javascript常考语句107条收集(javascript语法总结)

  • 税务申报退税
  • 消费税的会计处理分录
  • 计提工资是计提哪个月的
  • 个体户经营所得税率
  • 本年已交税费怎么算
  • 广告发布费属于什么征税项目
  • 建筑工程公司收入成本怎么结转
  • 应交税费增值税明细账
  • 纳税人出租不动产预缴税款
  • 预估应付账款该怎么冲销
  • 进项转出后还能转入吗
  • 进口增值税已付发票未到如何入账
  • 企业缴存公积金比例
  • 营改增后房地产公司税种及税率
  • 出口退税的原则是什么
  • 员工工资超过多少钱要交税
  • 房地产企业工程款支付流程
  • 一般纳税人销售二手车增值税税率
  • 花卉租赁的税率
  • 企业所得税国税还是地税征管
  • 专票开户行信息少股份有限公司有影响吗?
  • 汽车维修单位提成比例
  • 建筑业分包抵扣
  • 怎样冲回多提应付职工薪酬?
  • 长期股权投资的交易费用计入哪里
  • 控股子公司利润并表
  • 持有公司股票是股东吗
  • 如何分析财务报表看企业经营情况
  • 苹果手机送修了会给备用机吗
  • “linux系统”
  • 交易性金融资产属于什么科目
  • 浅谈特殊儿童的融合教育论文
  • 企业在建工程领用自产的应税消费品
  • 深度学习——VGG16模型详解
  • 微信小程序分成比例
  • 公司借款利息可以用对公户转账吗
  • yolov5怎么改进
  • centos配置php环境
  • nvm安装教程
  • 这年头不好混图片
  • 滴滴普通发票如何开
  • phpcms 用的是什么模板引擎
  • 如何解决安装包解析错误
  • 中医经营范围,营业执照怎么写
  • 工商年报股东实缴出资金额能写0吗
  • 员工出差回来会计分录
  • 新事业单位会计制度下固定资产的核算
  • 个体户核定征收开票额度是多少
  • sql server 2008怎么使用sql语句
  • Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
  • 移动平均加权法怎么算
  • 收到以前年度退款怎么做分录
  • 收到外币收入怎么处理
  • 收到海关进口关税怎么办
  • 不签订购销合同的后果
  • 委托加工应税消费品纳税义务发生时间
  • 利息支出应计入什么科目
  • 公司的在建工程入账会计分录没有付款
  • 预付款已经开了发票未到货要怎么做账
  • 咨询服务公司的经营范围
  • 连锁店的总部取名
  • 如何取消已经生产的产品
  • 外账会计做什么
  • 企业营运能力分析
  • windows中双击硬盘驱动器图标操作的作用
  • server.exe是什么
  • win7系统关闭自动休眠
  • win10wifi打开后自动关闭
  • windows7输入
  • cocos2dx开发的游戏
  • apktool修改包名
  • 安卓手机管家哪个好用
  • vr project
  • js实现回文
  • javascript面向对象精要pdf下载
  • 重庆税务总局发票查询
  • 中国裁判文书怎么查个人案件
  • 工会春游费用怎么报销
  • 福建网上税务局app
  • 代理记账协会成立时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设