Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)


Posted in Javascript onNovember 22, 2013
<!doctype html public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Keywords" content="YES!B/S!" />
<meta name="Description" content="This page is from http://Justinyoung.cnblogs.com" />
<title>CSS/Javascript demo</title>
<script type="text/javascript" language="javascript" >
    function test(){
        copyToClipboard("dddd");
    }
    copyToClipboard = function(txt) {
if(window.clipboardData) {
   window.clipboardData.clearData();
   window.clipboardData.setData("Text", txt);
} else if(navigator.userAgent.indexOf("Opera") != -1) {
window.location = txt;
} else if (window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试");
return false;
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip)
return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = txt;
str.data = copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
}
</script>
</head>
<body>
 <button onclick="test();">复制到粘贴板</button>
</body>
</html>

说明:Firefox的默认安全限制不允许通过JavaScript复制到剪贴板,需要提示用户修改Firefox的设置。修改方法是打开"about:config"将"signed.applets.codebase_principal_support"设置为"true"。

Javascript 相关文章推荐
为原生js Array增加each方法
Apr 07 Javascript
js实现卡片式项目管理界面UI设计效果
Dec 08 Javascript
微信小程序 require机制详解及实例代码
Dec 14 Javascript
简单实现IONIC购物车功能
Jan 10 Javascript
JavaScript实现星星等级评价功能
Mar 22 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
Feb 10 Javascript
CSS3 动画卡顿性能优化的完美解决方案
Sep 20 Javascript
纯JS实现五子棋游戏
May 28 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 #Javascript
用正则表达式替换图片地址img标签
Nov 22 #Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
Nov 22 #Javascript
jquery ajax中使用jsonp的限制解决方法
Nov 22 #Javascript
javascript禁用Tab键脚本实例
Nov 22 #Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
Nov 22 #Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
Nov 22 #Javascript
You might like
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
php简单smarty入门程序实例
2015/06/11 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
jquery 简单应用示例总结
2013/08/09 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
python处理文本文件并生成指定格式的文件
2014/07/31 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
简析Python的闭包和装饰器
2016/02/26 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
妇女干部培训方案
2014/05/12 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
单位工作证明书格式
2014/10/04 职场文书
停发工资证明范本
2015/06/12 职场文书
食堂卫生管理制度
2015/08/04 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP