博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用JS实现复制/粘贴功能
阅读量:6970 次
发布时间:2019-06-27

本文共 2237 字,大约阅读时间需要 7 分钟。

1、最基本的复制

  Java代码

  <script language="script">

  function readTxt()

  {

  alert(window.clipboardData.getData("text"));

  }

  function setTxt()

  {

  var t=document.getElementById("txt");

  t.select();

  window.clipboardData.setData('text',t.createTextRange().text);

  }

  </script>

  <input name="txt" value="测试">

  <input type="button" value="复制" οnclick="setTxt()">

  <input type="button" value="读取" οnclick="readTxt()">

  2、扩展复制:复制表格

  Java代码

  <INPUT TYPE="button" value="选中测试表格" οnclick="CopyTable()">

  测试

  <TABLE border="1" id="oTable">

  <TR>

  <TD>测试表格</TD>

  <TD>测试表格</TD>

  </TR>

  <TR>

  <TD>测试表格</TD>

  <TD>测试表格</TD>

  </TR>

  </TABLE>文字

  <SCRIPT LANGUAGE="JavaScript">

  <!--

  function CopyTable()

  {

  var txt = document.body.createTextRange();

  txt.moveToElementText(document.getElementById('oTable'));

  txt.select();

  }

  //-->

  </SCRIPT>

  、兼容IE,firefox等浏览器的复制

  Java代码

  <script>

  function copyToClipboard(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("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");

  }

  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>

  <button οnclick="copyToClipboard('你好!');">复制文本“你好!”</button>

  <textarea id="test"></textarea>

转载地址:http://zrasl.baihongyu.com/

你可能感兴趣的文章
windows平台vhd磁盘文件挂载
查看>>
白盒测试实践作业进度报告——Day 3
查看>>
基于Ubuntu16搭建Hadoop大数据完全分布式环境
查看>>
window环境下安装yii2
查看>>
exjs上传图片异常:com.jspsmart.upload.SmartUploadException: File can't be saved (1120).
查看>>
《c++不在难学--随老鸟快速通关》
查看>>
HipHop PHP
查看>>
非关系型数据库Redis学习(3)
查看>>
HPU 1437: 王小二的求值问题
查看>>
UE操作
查看>>
DataTable导出到Excel时身份证号信息自动转换为科学计数法的解决方案
查看>>
【状态保持】Cookice解析以及原理分析【续】
查看>>
《剑指Offer》题目:变态跳台阶
查看>>
11-23网页基础--JavaScript基础知识
查看>>
python爬虫小结1
查看>>
BZOJ 2693 jzptab ——莫比乌斯反演
查看>>
自定义转场动画库
查看>>
《图像处理实例》 之 疏密程度统计
查看>>
归并排序(分治)
查看>>
mysql 添加索引语句
查看>>