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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
ppk谈JavaScript style属性
Oct 10 Javascript
js 发个判断字符串是否为符合标准的函数
Apr 27 Javascript
javascript针对DOM的应用分析(三)
Apr 15 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
Jquery使用小技巧汇总
Dec 29 Javascript
JavaScript中点击事件的写法
Jun 28 Javascript
通过扫描二维码打开app的实现代码
Nov 10 Javascript
简单谈谈ES6的六个小特性
Nov 18 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
vue 实现滚动到底部翻页效果(pc端)
Jul 31 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
php实现删除空目录的方法
2015/03/16 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
javascript来定义类的规范小结
2010/11/19 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
浅谈Koa服务限流方法实践
2017/10/23 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
HTML的form表单和django的form表单
2019/07/25 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
文明工地标语
2014/06/16 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
党支部鉴定意见
2015/06/02 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
使用python创建股票的时间序列可视化分析
2022/03/03 Python
关于EntityWrapper的in用法
2022/03/22 Java/Android