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库 开发规则
Jan 31 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
Jan 16 Javascript
Javascript 读取操作Sql中的Xml字段
Oct 09 Javascript
使用impress.js制作幻灯片
Sep 09 Javascript
angularjs学习笔记之简单介绍
Sep 26 Javascript
老生常谈JavaScript数组的用法
Jun 10 Javascript
JS取模、取商及取整运算方法示例
Oct 13 Javascript
express文件上传中间件Multer详解
Oct 24 Javascript
Vue.js实现输入框绑定的实例代码
Aug 24 Javascript
vue el-table实现自定义表头
Dec 11 Javascript
查找Vue中下标的操作(some和findindex)
Aug 12 Javascript
Vue操作Storage本地化存储
Apr 29 Vue.js
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制作静态网站的模板框架
2006/10/09 PHP
优化使用mysql存储session的php代码
2008/01/10 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
详解python 注释、变量、类型
2018/08/10 Python
浅谈python标准库--functools.partial
2019/03/13 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
Python2与Python3的区别点整理
2019/12/12 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
购房协议书
2014/04/11 职场文书
理财学专业自荐书
2014/06/28 职场文书
社区服务活动报告
2015/02/05 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python