1.前言

本节讲述如何封装一个操作粘贴板的方法

  • 原理:选中某个Dom元素(比如文本域),执行区域复制命令即可。
  • 相关API:document.execCommand():该方法允许运行命令来操纵可编辑内容区域的元素。传入"Copy"参数表示拷贝当前选中内容到剪贴板。(启用这个功能的条件因浏览器不同而不同,而且不同时期,其启用条件也不尽相同。使用之前请检查浏览器兼容表,以确定是否可用。)

2.封装思路

  • (1)创建一个textarea元素,写入要拷贝的文本
  • (2)将该元素插入到Dom中
  • (3)选中该元素
  • (4)执行复制到粘贴版的命令
  • (5)移除该元素

3.代码实现

function copyUrl_oz(val){
//创建元素
var node_textarea = document.createElement('textarea')
//隐藏该元素
node_textarea.style.opacity = 0
//写入元素内容(要复制的文本)
node_textarea.value = val
//将元素加入Dom中
document.body.appendChild(node_textarea)
//选中该元素
node_textarea.select()
//复制以选中元素的内容到粘贴板
document.execCommand("Copy")
//复制完毕,移除该元素
document.body.removeChild(node_textarea)
}

在PC端中,测试了Chrome/火狐/edge/IE11浏览器都没问题

在手机端,测试了IOS13种的Chrome/火狐/edge浏览器,也没问题

Javascript 粘贴板的更多相关文章

  1. JavaScript设置粘贴板

    设置复制 document.body.oncopy = function(){ alert('不许复制'); return false; }; 设置粘贴 document.getElementById ...

  2. javascript网页复制功能-复制到粘贴板-兼容多数浏览器(不使用flash)

    使用方法:clipBordCopy("hello Copy");//执行后复制hello Copy到粘贴板 通过 var result = clipBordCopy("h ...

  3. 如何使用JavaScript直接上传并预览粘贴板的图片?

    (题图:梵高-橄榄树) 提出需求 因为工作原因,现在有一个需求就是需要用户使用QQ或者微信复制一张截图后,在div中直接粘贴这张图片,而不是采用上传的方式.类似我们在使用QQ微信时直接粘贴截图的操作, ...

  4. 转JS--通过按钮直接把input或者textarea里的值复制到粘贴板里

    document.activeElement属性为HTML 5中新增的document对象的一个属性,该属性用于返回光标所在元素.当光标未落在页面中任何元素内时,属性值返回body元素. setSel ...

  5. clipboardjs复制到粘贴板

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...

  6. IE中操作粘贴板复制和粘贴

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. zeroclipboard实现多浏览器复制到粘贴板功能

    zeroclipboard实现多浏览器复制到粘贴板功能(单个复制按钮和多个复制按钮) 为了更好的用户体验,现在很多网站中文本框的内容只需要点击复制按钮这样就能把内容复制到粘贴板了:出于兼容性的考虑,基 ...

  8. js 实现复制到粘贴板功能

    前言:js 或者 jquery 都可以实现的复制到粘贴板功能,有时还想要有换行等格式(同 textarea) 网站地址:我的个人vue+element ui demo网站 github地址:yuleG ...

  9. js实现粘贴板复制

    <a href = '#' onclick ='javascript:window.clipboardData.setData('text','${form.param}');alert('クリ ...

  10. js 复制文字、 复制链接到粘贴板

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. Azure 入门系列 (第四篇 Key Vault)

    本系列 这个系列会介绍从 0 到 1 搭建一个 Web Application 的 Server. 间中还会带上一些真实开发常用的功能. 一共 6 篇 1. Virtual Machine (VM) ...

  2. ASP.NET Core – Swagger OpenAPI (Swashbuckle)

    前言 Swagger (OpenAPI) 是一套 Web API 文档规范. ASP.NET Core 有 2 个 Library 可用来实现 Swagger. Swashbuckle 和 NSwag ...

  3. Java 之跨docker容器备份数据库

    Java 之跨docker容器备份数据库 摘] java中执行数据库备份,每隔10分钟备份一次,保留四份备份文件,项目在windows系统下运行备份命令没问题.项目采用docker部署后,jar部署在 ...

  4. Hive--hbase--spark

    hive创建hbase表 create external table events.hb_train( row_key string, user_id string, event_id string, ...

  5. go语言中变量的作用域

    Go 语言中的变量作用域规则决定了变量在程序的哪些部分是可见的和可以访问的.理解这些规则对于编写清晰.维护性高的代码非常重要.下面是一个系统性的解释. 变量的作用域类型 包级作用域: 包级作用域的变量 ...

  6. torch和numpy的相互转换

    import torch x = torch.rand(2,2) x1 = x.numpy() # torch转换到numpy x2 = torch.from_numpy(x1) #numpy转换to ...

  7. C# 的浮点类型 float double 和十进制类型 decimal

    // 浮点型数据 float double(双精度) // float f = 1.1; // ps:写小数的时候只要后面没有加上 f/F 默认是double类型 // 正确的定义 double d ...

  8. efcode相关操作

    1. 下载 tool dotnet tool install -g dotnet-ef 2. 第一次迁移日志 dotnet ef migrations add init1 3. 更新数据库 datne ...

  9. POI方式实现Excel表格数据导出

    Excel表格导出 1.添加pom依赖 1 <!-- office 操作工具 --> 2 <dependency> 3 <groupId>org.apache.po ...

  10. Machine Learning Week_1 Model and Cost Function 1-4

    目录 2 Model and Cost Function 2.1 Video: Model Representation unfamiliar words 2.2 Reading: Model Rep ...