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学习阶段性总结(2)--(X)HTML学习
Feb 03 Javascript
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
Aug 04 Javascript
关于文本框的一些限制控制总结~~
Apr 15 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
May 15 Javascript
批量实现面向对象的实例代码
Jul 01 Javascript
JavaScript模拟鼠标右键菜单效果
Dec 08 Javascript
jQuery simpleModal插件的使用介绍
Aug 30 Javascript
简单学习vue指令directive
Nov 03 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
Jul 18 Javascript
Vue axios 将传递的json数据转为form data的例子
Oct 29 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
Nov 04 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 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学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
妙用Jquery的val()方法
2012/06/27 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
简单的三步vuex入门
2018/05/20 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
Python urls.py的三种配置写法实例详解
2017/04/28 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
如何使用Pytorch搭建模型
2020/10/26 Python
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
社区戒毒工作方案
2014/06/04 职场文书
社区两委对照检查材料
2014/08/23 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
质检员岗位职责
2015/02/03 职场文书
2015年度物流工作总结
2015/04/30 职场文书
Hive HQL支持2种查询语句风格
2022/06/25 数据库
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers