电脑Run

查看: 185|回复: 0

使用JavaScript将文本内容复制到剪贴板中

[复制链接]

29

主题

30

帖子

131

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
131
发表于 2020-8-30 02:08:23 | 显示全部楼层 |阅读模式
在网上找了几篇关于JS将自定义文本添加到剪切板的文章,很多都无法使用,后来找到了一段代码,将一段文件添加到剪切板的功能挺好用的,现在附下,供大家下载使用。
  1. function CopyToClipboard (input) {
  2.                 var textToClipboard = input;

  3.                 var success = true;
  4.                 if (window.clipboardData) { // Internet Explorer
  5.                         window.clipboardData.setData ("Text", textToClipboard);
  6.                 }
  7.                 else {
  8.                         // create a temporary element for the execCommand method
  9.                         var forExecElement = CreateElementForExecCommand (textToClipboard);

  10.                         /* Select the contents of the element
  11.                 (the execCommand for 'copy' method works on the selection) */
  12.                         SelectContent (forExecElement);

  13.                         var supported = true;

  14.                         // UniversalXPConnect privilege is required for clipboard access in Firefox
  15.                         try {
  16.                                 if (window.netscape && netscape.security) {
  17.                                         netscape.security.PrivilegeManager.enablePrivilege ("UniversalXPConnect");
  18.                                 }

  19.                                 // Copy the selected content to the clipboard
  20.                                 // Works in Firefox and in Safari before version 5
  21.                                 success = document.execCommand ("copy", false, null);
  22.                         }
  23.                         catch (e) {
  24.                                 success = false;
  25.                         }

  26.                         // remove the temporary element
  27.                         document.body.removeChild (forExecElement);
  28.                 }
  29.                 return success;
  30.         }

  31.         function CreateElementForExecCommand (textToClipboard) {
  32.                 var forExecElement = document.createElement ("div");
  33.                 // place outside the visible area
  34.                 forExecElement.style.position = "absolute";
  35.                 forExecElement.style.left = "-10000px";
  36.                 forExecElement.style.top = "-10000px";
  37.                 // write the necessary text into the element and append to the document
  38.                 forExecElement.textContent = textToClipboard;
  39.                 document.body.appendChild (forExecElement);
  40.                 // the contentEditable mode is necessary for the  execCommand method in Firefox
  41.                 forExecElement.contentEditable = true;

  42.                 return forExecElement;
  43.         }

  44.         function SelectContent (element) {
  45.                 // first create a range
  46.                 var rangeToSelect = document.createRange ();
  47.                 rangeToSelect.selectNodeContents (element);

  48.                 // select the contents
  49.                 var selection = window.getSelection ();
  50.                 selection.removeAllRanges ();
  51.                 selection.addRange (rangeToSelect);
  52.         }
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|电脑Run ( 豫ICP备19038182号-2 )

Copyright © 2019-2029, Diannao Run.

快速回复 返回顶部 返回列表