WWW.lllT.neT

javaScript完成拷贝作用的方式:1、根据“document.execCommand('copy')”方式;2、根据ClipboardJS来完成具体内容的拷贝。

文中实际操作自然环境:windows7系统软件、javascript1.8.5版、Dell G3电脑上。

javaScript如何完成拷贝作用?

js完成拷贝的二种方式

一、导言

页面必须拷贝作用,因此就写了一个做为简易纪录

二、方式、建议第二种。

1、第一种方式

1)、根据 document.execCommand('copy')

2)、前端代码如下所示:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>constructor-nodelist</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css"/>
</head>
<body>
<button onclick="copyText('copy_file')">点此拷贝</button>
<a id="copy_file" href="拷贝具体内容" ></a>
<script type="text/javascript" src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script>
<script>
function copyText(str_file) {
 const btn = document.querySelector('.' str_file);
 var copy_val = document.getElementById(str_file)
 var copy_file = copy_val.getAttribute("href");
 btn.addEventListener('click',() => {
  const input = document.createElement('input');
  document.body.appendChild(input);
  input.setAttribute('value', copy_file);
  input.select();
  if (document.execCommand('copy')) {
   document.execCommand('copy');
   swal("复制成功!","success");
  }
  document.body.removeChild(input);
 })
}
</script>
</body>

3)、汇总:主要是根据 class和id 来拷贝 a标签中的 href,把拷贝好的具体内容放进 转化成的input标识中,随后拷贝完毕把 input标识给remove,这一你拷贝具体内容自主充分发挥,和改动 js。

4)、问题:第一次点一下不起效,必须点一下2次,临时不处理

2、第二种方式

1)、根据 ClipboardJS 来完成 具体内容的拷贝,建议这一

2)、git详细地址:clipboardjs(https://clipboardjs.com/)

3)、前端代码如下所示:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <!-- 请自己去git新项目在线下载 js-->
 <script src="./clipboard.min.js"></script>
 <link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css"/>
 <script type="text/javascript" src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script>
</head>
<body>
<button id="btn" data-clipboard-text="str_555" onclick="copyText()">
 <span>Copy</span>
</button>
</body>
</html>
<script>
function copyText() {
 var btn = document.getElementById('btn');
 console.log(btn);
  var clipboard = new ClipboardJS(btn);
<!--  var clipboard = new ClipboardJS(btn, {-->
<!--   container: document.getElementById('btn')-->
<!--  });--> 假如你的新项目是 bootstrap架构,请应用这一
  clipboard.on('success', function(e) {
   console.log(e);
   swal("复制成功!","success");
   clipboard.destroy();
  });
  clipboard.on('error', function(e) {
   console.log(e);
   swal("拷贝不成功","error");
   clipboard.destroy();
  });
}
</script>

3)、汇总:请一定要认真阅读 文本文档。这一新项目或是十分庞大的,极力推荐这一。

4)、问题:也是碰到了 第一次拷贝不起效的问题,临时不解决了。

三、汇总

1、都遇上了 第一次拷贝不起效的问题,后面处理把,都使用了 sweetalert 。

2、本人都只在 Google和火狐浏览器试验了,都能够用,假如别的浏览器版本不能用,请及时查看别的文章内容,热烈欢迎沟通交流、纠正。

建议学习培训:《javascript基础教程》

以上便是javaScript如何完成拷贝作用的详尽具体内容,大量请关心自学java网其他相关文章!

WWW.lllT.neT

声明:有的资源来自网络转载,版权归原作者所有,如有侵犯到您的权益请联系邮箱:our333@126.com我们将配合处理!

原文地址:javaScript如何完成拷贝作用发布于2021-12-13 15:45:01