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 相关文章推荐
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
Aug 13 Javascript
js自定义事件及事件交互原理概述(一)
Feb 01 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
May 27 Javascript
使用jquery实现仿百度自动补全特效
Jul 23 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
Aug 25 Javascript
Javascript 事件冒泡机制详细介绍
Oct 10 Javascript
vue.js实现单选框、复选框和下拉框示例
Jul 18 Javascript
vue绑定设置属性的多种方式(5)
Aug 16 Javascript
基于JSON数据格式详解
Aug 31 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
vue ssr服务端渲染(小白解惑)
Nov 10 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
解析zend Framework如何自动加载类
2013/06/28 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
php实现数字补零的方法总结
2018/09/12 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
vue接口请求加密实例
2020/08/11 Javascript
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
django的ORM模型的实现原理
2019/03/04 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
python处理document文档保留原样式
2019/09/23 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
python+OpenCV实现图像拼接
2020/03/05 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
python从PDF中提取数据的示例
2020/10/30 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
怎样有效的进行自我评价
2013/10/06 职场文书
文言文形式的学生求职信
2013/12/03 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
人民教师求职自荐信
2014/03/12 职场文书
大学生励志演讲稿
2014/04/25 职场文书
滞留工资返还协议书
2014/10/19 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
《火烧云》教学反思
2016/02/23 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书