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中实现类的方式探讨
Aug 28 Javascript
Javascript Memoizer浅析
Oct 16 Javascript
JavaScript页面模板库handlebars的简单用法
Mar 02 Javascript
JavaScript中switch语句的用法详解
Jun 03 Javascript
JavaScript中的继承之类继承
May 01 Javascript
AngularJS ng-controller 指令简单实例
Aug 01 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 Javascript
JavaScript实现的搜索及高亮显示功能示例
Aug 14 Javascript
vue组件Prop传递数据的实现示例
Aug 17 Javascript
LayerClose弹窗关闭刷新方法
Aug 17 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
Mar 06 Javascript
微信小程序绘制图片发送朋友圈
Jul 25 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
我的论坛源代码(二)
2006/10/09 PHP
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
如何在JavaScript中正确处理变量
2020/12/25 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
python代码实现ID3决策树算法
2017/12/20 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
Python如何将模块打包并发布
2020/08/30 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
Java面试笔试题大全
2016/11/23 面试题
军训自我鉴定
2013/12/14 职场文书
写给老师的表扬信
2014/01/21 职场文书
八年级英语教学计划
2015/01/23 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python
关于使用Redisson订阅数问题
2022/01/18 Redis