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 获取字符串字节数的多种方法
Jun 02 Javascript
js中将URL中的参数提取出来作为对象的实现代码
Aug 16 Javascript
angularJS结合canvas画图例子
Feb 09 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
bootstrap table动态加载数据示例代码
Mar 25 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
Sep 08 Javascript
JS点击动态添加标签、删除指定标签的代码
Apr 18 Javascript
three.js搭建室内场景教程
Dec 30 Javascript
webpack 动态批量加载文件的实现方法
Mar 19 Javascript
vue+openlayers绘制省市边界线
Dec 24 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
smarty section简介与用法分析
2008/10/03 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
PHP培训要多少钱
2017/06/06 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
js 函数性能比较方法
2020/08/24 Javascript
python网络编程之读取网站根目录实例
2014/09/30 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Django返回json数据用法示例
2016/09/18 Python
python构建深度神经网络(续)
2018/03/10 Python
PyCharm代码格式调整方法
2018/05/23 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
python生成器推导式用法简单示例
2019/10/08 Python
如何理解Python中的变量
2020/06/01 Python
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技