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 相关文章推荐
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
Jan 15 Javascript
js中文逗号转英文实现
Feb 11 Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 Javascript
JavaScript中实现单体模式分享
Jan 29 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
Nov 21 Javascript
JS原型对象的创建方法详解
Jun 16 Javascript
基于Bootstrap的网页设计实例
Mar 01 Javascript
js实现上下左右弹框划出效果
Mar 08 Javascript
JS数组搜索之折半搜索实现方法分析
Mar 27 Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 Javascript
如何区分vue中的v-show 与 v-if
Sep 08 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
浅析PHP水印技术
2007/02/14 PHP
php无限遍历目录示例
2014/02/21 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
numpy.random模块用法总结
2019/05/27 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
装饰资料员岗位职责
2013/12/30 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
2014年度党员自我评议
2014/09/13 职场文书
二人合伙经营协议书
2014/09/13 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
python井字棋游戏实现人机对战
2022/04/28 Python