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 寻址,闭包,对象模型和相关问题
Apr 27 Javascript
javascript 多浏览器 事件大全
Mar 23 Javascript
JavaScript判断一个URL链接是否有效的实现方法
Oct 08 Javascript
深入了解javascript中的prototype与继承
Apr 14 Javascript
javascript中 try catch用法
Aug 16 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 Javascript
jQuery实现手机版页面翻页效果的简单实例
Oct 05 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
Apr 07 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 Javascript
Express使用html模板的详细代码
Sep 18 Javascript
Angular-UI Bootstrap组件实现警报功能
Jul 16 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
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
PHP模块memcached使用指南
2014/12/08 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
php异常处理方法实例汇总
2015/06/24 PHP
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
jquery ajaxfileupload异步上传插件
2017/11/21 jQuery
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
python中cPickle用法例子分享
2014/01/03 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
文明村镇申报材料
2014/05/06 职场文书
禁烟标语大全
2014/06/11 职场文书
高中综合实践活动总结
2014/07/07 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android