100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 兼容主流浏览器的JS复制内容到剪贴板【javascript】

兼容主流浏览器的JS复制内容到剪贴板【javascript】

时间:2022-03-11 09:40:07

相关推荐

兼容主流浏览器的JS复制内容到剪贴板【javascript】

web前端|js教程

JS,复制,剪贴板

web前端-js教程

现在浏览器种类也越来越多,诸如 IE、Firefox、Chrome、Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了。

邮局 源码,ubuntu独立显卡黑屏,如何做好爬虫,fun php,商城seo域名lzw

在FLASH 9 时代,有一个通杀所有浏览器的js复制内容到剪贴板的方案:

6个html5手机游戏源码,vscode改变注释的字体,ubuntu查看库,查看tomcat启动参数,scrapy爬虫实践,php私服发布站,seo的文章来源重要吗,织梦dedecms资讯文章类网站模板,齐博分类信息系统模板开发lzw

这个方案是一个最流行的方法: 著名的Clipboard Copy解决方案 利用一个clipboard.swf作为桥梁,复制内容到剪贴板。

七豆交友源码,vscode查看调用堆栈,ubuntu 使用gcc,tomcat会有窗口吗,pothy爬虫,php获取日期中的日期,新乡seo网络推广厂家,仿论坛网站模板下载,jsp商品模板下载lzw

原理是:创建一个隐藏的flash文件,同时给给flash的变量FlashVars 赋值“clipboard=..”,通过这个赋值flash就会把复制的内容放到剪贴板。这个方法兼容IE、Firefox、Opera、chrome、 Safari,真可谓“万能”的解决方案。浏览器Flash的安装率非常高,这几乎是一个完美的解决方案。

Web开发者 -var clipboardswfdata;

var setcopy_gettext = function(){

clipboardswfdata = document.getElementById( est_text).value;

//alert(clipboardswfdata);

window.document.clipboardswf.SetVariable(str, clipboardswfdata);

}

var floatwin = function(){

alert(复制成功!);

//document.getElementById(clipinner).style.display = one;

}

文本內容.......

复制代码到剪切板

clipboard.swf 的下载地址:/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的剪贴板。

以下是调试好的例子:

Zero Clipboard Testvar clip = null;

function $(id) { return document.getElementById(id); }

function init() {

clip = new ZeroClipboard.Client();

clip.setHandCursor(true);

clip.addEventListener(mouseOver, function (client) {

// update the text on mouse over

clip.setText( $(fe_text).value );

});

clip.addEventListener(complete, function (client, text) {

//debugstr("Copied text to clipboard: " + text );

alert("该地址已经复制,你可以使用Ctrl+V 粘贴。");

});

clip.glue(clip_button, clip_container );

}

复制

点击下载该类库: /jiaoben/24961.html

调试时请上传到网站,本地直接打开flash会出错的,没权限。zeroClipboard.js文件里moviePath属性是falsh的地址,就是目录下的那个ZeroClipboard.swf存放的地址位置。

这种js复制内容到剪贴板的方案可支持浏览器:Firefox / IE / opera / chorme / safari 所有浏览器!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。