您好,欢迎访问一九零五行业门户网

兼容主流浏览器的JS复制内容到剪贴板_javascript技巧

现在浏览器种类也越来越多,诸如 ie、firefox、chrome、safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了。
在flash 9 时代,有一个通杀所有浏览器的js复制内容到剪贴板的方案:
这个方案是一个最流行的方法: 著名的clipboard copy解决方案 利用一个clipboard.swf作为桥梁,复制内容到剪贴板。
原理是:创建一个隐藏的flash文件,同时给给flash的变量flashvars 赋值“clipboard=..”,通过这个赋值flash就会把复制的内容放到剪贴板。这个方法兼容ie、firefox、opera、chrome、 safari,真可谓“万能”的解决方案。浏览器flash的安装率非常高,这几乎是一个完美的解决方案。
复制代码 代码如下:
ttp://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>
http://www.w3.org/1999/xhtml>
web开发者 - www.admin10000.com
文本內容.......
复制代码到剪切板
clipboard.swf 的下载地址:http://www.jeffothy.com/weblog/uploads/clipboard.php
但是 flash 10 时代,上面的方法已经不行了。
因为flash10中规定了只有在swf上进行了真实的操作(比如鼠标点击)才能访问剪切板,而上述方法只是使用了一个隐藏的swf文件,通过javascript操作flash的剪贴板,用户并没有对swf文件进行真实的操作,因此这个方法也就失效了。
那么如何解决这个“真实操作”的问题呢?可以使用一个javascript库:zero clipboard,利用这个js库可以支持利用flash 10 实现复制到剪贴板。这个方法原理是在一个透明的flash(对用户来说是不可见的)上覆盖一个dom元素比如button或div,当点击这个dom时,实际点击的是flash,从而访问flash的剪贴板。
 以下是调试好的例子:
复制代码 代码如下:
ttp://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>
http://www.w3.org/1999/xhtml>
zero clipboard test
复制
点击下载该类库: http://www.jb51.net/jiaoben/24961.html
调试时请上传到网站,本地直接打开flash会出错的,没权限。zeroclipboard.js文件里moviepath属性是falsh的地址,就是目录下的那个zeroclipboard.swf存放的地址位置。
这种js复制内容到剪贴板的方案可支持浏览器:firefox / ie / opera / chorme / safari 所有浏览器!
其它类似信息

推荐信息