【javascript】点击复制内容的实现
各种站点有很多类似的代码,不过都是拿来即用,连个解释也没有。大概看了一下,现在主要使用的有两种办法:
1.documen.execCommand("Copy")或者window.cliperboard
2.利用flash来访问剪贴板
但是上面两种的兼容性不好。第一种仅适用于ie内核的浏览器,火狐、Chrome、Safari都不行。第二种的话完全依赖于是否安装了Flash,上面这些浏览器只有Chrome内置Flash,而且在Flash9和10之间调用方法有差异。
所以降级一下,对于IE用户提供直接点击复制,对于Chrome等用户,只能提示其使用组合件CTRL+C了。
代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<button onclick="copyToCliper('复制的实际内容')">按钮</button></div>
<script type="text/javascript">
function copyToCliper(msg){
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
if( Sys.ie ){
var _text = document.createElement("textarea");
_text.style.width = "1px";
_text.style.height = "1px";
_text.style.background = "transparent";
_text.style.border = "none";
_text.style.resize = "none";
_text.style.filter = "alpha(opacity=0)";
_text.textContent = msg;
document.body.appendChild(_text);
_text.select(); //选择对象
document.execCommand("Copy"); //执行浏览器复制命令
alert("已复制。");
}
else{
window.prompt("您的浏览器不支持直接复制\n请使用Ctrl+C来复制文本框内容,确认完成后点击关闭。",msg);
}
}
</script>
</body>
</html>
【javascript】点击复制内容的实现的更多相关文章
- Zclip点击复制内容到剪贴板兼容各浏览器
WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,只需要轻轻一点这个复制按钮,内容将会被复制, ...
- js插件实现点击复制内容到粘贴板,兼容IE8
先来看下本次需要导入的文件: 第一个是jquery.js,这个不多说: 第二个是jquery.zclip.js,第三个是zeroClipboard.swf ,这两个文件的下载链接:http://www ...
- 点击复制内容到剪切板(clipboard)
clipboard官方文档:https://clipboardjs.com/ 安装: 1.用npm:npm install clipboard --save 2.下载:https://github.c ...
- js 点击复制内容
<textarea id="pushUrlsTxt" rows="5" cols="55"></textarea> ...
- js 实现页面点击按钮复制内容
前言: 我们平时在页面中是按照长按来实现复制相关的内容,那么怎么用js实现点击按钮实现复制相关的内容呢?请看如下方法: 实现步骤: 1.引入相关的js(ClipboardJS插件) <scrip ...
- Salesforce LWC学习(二十八) 复制内容到系统剪贴板(clipboard)
本篇参考: https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipb ...
- javascript : 点击按钮,把某标签中的内容复制到剪贴板
需求如题. 静态页面如下. 需要的库:jquery(不用应该也能做). 浏览器:PC chrome 68 Mobile MIUI9.5(Android 7) <p>1.用电脑打开网址:&l ...
- jquery点击按钮复制内容
做移动端的项目遇到一个需求要点击按钮复制dom里的内容,看了很多资料显示必须textarea或者input里的内容才能简单复制,还有就是用插件的了,最终都因为遇到各种问题放弃,最终选择了最简单的点击复 ...
- js 实现点击复制文本内容
js 实现点击复制文本内容 <table> <tr><td>姓名:<span onclick="copyContent(this);" ...
随机推荐
- jquery对象和DOM对象转换
DOM对象转换成jquery对象 var box = document.getElementById('box'); console.log($(box)); jquery对象转化成DOM对象 第一种 ...
- Python普通方法、静态方法、类方法
开始 # -*-coding:utf-8-*- # 普通方法,类方法,静态方法的区别 __metaclass__ = type class Tst: name = 'tst' data = 'this ...
- 测试工具-PICT-微软基于数据项多个取值的正交法用例生成工具
下载 http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi 这里使用 ...
- 好记性不如烂笔头-linux学习笔记6keepalived实现主备操作
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工 ...
- echart改变legend样式及分页
legend: { type: 'scroll', orient: 'horizontal', bottom:0, left:'center', itemGap: 0, itemWidth: 10, ...
- logger 的使用 二logback使用配置详解
下面是一些最基本的,详细的参考:https://logback.qos.ch/manual/index.html 我的使用:把error日志打印在另一个文件,可以用ELK 统一管理 最近使用: < ...
- php使用curl库进行ssl双向认证
官方文档: http://www.php.net/manual/zh/function.curl-setopt.php#10692 官方举例: <?phpcurl_setopt($ch, CUR ...
- FoxPro 打开文件及使用SQL查询
set exclusive off OPEN DATABASE t:\tpswin\comp1\time.dbc SHARED select empl_no,date,in, bout, bin, o ...
- 解决docker tty窗口太小,命令换行的问题
docker exec -it -e LINES=$(tput lines) -e COLUMNS=$(tput cols) ed08 bash
- fixed语句
[fixed语句] fixed 语句禁止垃圾回收器重定位可移动的变量.fixed 语句只能出现在不安全的上下文中.Fixed 还可用于创建固定大小的缓冲区. fixed 语句设置指向托管变量的指针,并 ...