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 AJAX 用于计算点击率(统计)
Jun 30 Javascript
文本框输入时 实现自动提示(像百度、google一样)
Apr 05 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
Jul 09 Javascript
JS实现倒计时和文字滚动的效果实例
Oct 29 Javascript
JavaScript中的继承方式详解
Feb 11 Javascript
JavaScript获取网页表单提交方式的方法
Apr 02 Javascript
js实现动态加载脚本的方法实例汇总
Nov 02 Javascript
JS去除重复并统计数量的实现方法
Dec 15 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
javascript 动态生成css代码的两种方法
Mar 17 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 Javascript
Javascript节流函数throttle和防抖函数debounce
Dec 03 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网站在线人数统计
2008/04/09 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
美国最大的团购网站:Groupon
2016/07/23 全球购物
成人大专生实习期的自我评价
2013/10/02 职场文书
市三好学生主要事迹
2014/01/28 职场文书
端午节活动策划方案
2014/03/09 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
上下班时间调整通知
2015/04/23 职场文书
python tkinter模块的简单使用
2021/04/07 Python
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
浅谈JS的原型和原型链
2021/06/04 Javascript