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 无废话系列教程(一) jquery入门 [推荐]
Jun 23 Javascript
浅谈轻量级js模板引擎simplite
Feb 13 Javascript
js带点自动图片轮播幻灯片特效代码分享
Sep 07 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
Nov 03 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
angularjs之$timeout指令详解
Jun 13 Javascript
10个最优秀的Node.js MVC框架
Aug 24 Javascript
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
Sep 19 Javascript
Electron-vue脚手架改造vue项目的方法
Oct 22 Javascript
ES6入门教程之变量的解构赋值详解
Apr 13 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
Aug 06 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
删除无限级目录与文件代码共享
2006/07/12 PHP
关于时间计算的结总
2006/12/06 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
jsonp原理及使用
2013/10/28 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
学习python类方法与对象方法
2016/03/15 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
Python多继承原理与用法示例
2018/08/23 Python
Python 加密与解密小结
2018/12/06 Python
Python多项式回归的实现方法
2019/03/11 Python
详解python中递归函数
2019/04/16 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
浅析python实现动态规划背包问题
2020/12/31 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
解除同居协议书
2015/01/29 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
Android存储中最基本的文件存储方式
2022/04/30 Java/Android