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 相关文章推荐
Web版彷 Visual Studio 2003 颜色选择器
Jan 09 Javascript
JavaScript 垃圾回收机制分析
Oct 10 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
js鼠标滑过图片震动特效的方法
Feb 17 Javascript
原生js实现addClass,removeClass,hasClass方法
Apr 27 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
May 25 Javascript
详解Angular 4 表单快速入门
Jun 05 Javascript
vue高德地图之玩转周边
Jun 16 Javascript
vue proxy 的优势与使用场景实现
Jun 15 Javascript
JavaScript实现贪吃蛇游戏
Jun 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
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
浅析php原型模式
2014/11/25 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
JS原型链怎么理解
2016/06/27 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
mpvue将vue项目转换为小程序
2018/09/30 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
盘点提高 Python 代码效率的方法
2014/07/03 Python
Python标准库defaultdict模块使用示例
2015/04/28 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
综合实践活动总结
2014/05/05 职场文书
建设投标担保书
2014/05/13 职场文书
科技活动周标语
2014/10/08 职场文书
美容院合作经营协议书
2014/10/10 职场文书
2014三年级班主任工作总结
2014/12/05 职场文书
护士心得体会范文
2016/01/25 职场文书
详解nginx location指令
2022/01/18 Servers