通过js脚本复制网页上的一个表格的不错实现方法

时间:2024-04-23 09:16:19 

今天有人问我一个问题:如何通过js脚本复制网页上的一个表格?看起来似乎比较有难度,不过还是搞定了,顺便把解决这个问题的过程记录下来,希望能对写脚本的兄弟们有所帮助。

以前没有写过这种脚本,不过想起来前不久刚看到一个脚本可以实现全选HTML编辑器的内容,于是想到一个方案:使用脚本将该表格插入HTML编辑器中,然后全选HTML编辑器内容,执行HTML编辑器的复制命令,即可实现复制表格功能,很快搞定:

<INPUT TYPE="button" value="复制测试表格" onclick="CopyTable()"> <INPUT TYPE="button" value="将剪切板内容输出到编辑器中" onclick="PastClipboardData()"> 测试 <TABLE border="1" id="oTable"> <TR>  <TD>测试表格</TD>  <TD>测试表格</TD> </TR> <TR>  <TD>测试表格</TD>  <TD>测试表格</TD> </TR> </TABLE>文字 <iframe id="editor" src="about:blank"></iframe> <SCRIPT LANGUAGE="JavaScript">  </SCRIPT>



这样子功能是实现了,不过觉得有点不爽,必须借助HTML编辑器才可,不过从全选HTML编辑器的代码中,注意到了createTextRange()方法,这个方法以前就有用过,只是一直没深入研究过。在Msdn中发现只有Body、TextArea等对象支持createTextRange()方法,继续在msdn中仔细查阅了一下,createTextRange()返回的是一个 TextRange 对象,继续查阅 TextRange 对象,发现其有很多方法,先试了试findText方法,发现只能选中文字,不能选中对象,继续找,终于发现了moveToElementText就是我们要找的方法:

<INPUT TYPE="button" value="选中测试表格" onclick="CopyTable()"> 测试 <TABLE border="1" id="oTable"> <TR>  <TD>测试表格</TD>  <TD>测试表格</TD> </TR> <TR>  <TD>测试表格</TD>  <TD>测试表格</TD> </TR> </TABLE>文字 <SCRIPT LANGUAGE="JavaScript">  </SCRIPT>



类似于这样的问题,可以想想以前有无写过见过类似的代码,如果没有也可以网上用关键字搜索一把,直接利用现有知识解决。msdn是一个非常好的宝库,就如小学学汉字的字典一样,从里面可以找到绝大部分所需要的资料。正应了那句话,自己动手丰衣足食:)

标签:通过js脚本复制网页上的一个表格的不错实现方法
0
投稿

猜你喜欢

  • 详细解读Python中的__init__()方法

    2023-03-25 17:10:27
  • 详解Go语言中make和new的区别

    2024-04-27 15:37:11
  • 通俗讲解Python中的五种下划线含义

    2023-09-14 04:06:14
  • 巧用mysql提示符prompt清晰管理数据库的方法

    2024-01-24 14:05:07
  • django项目中使用云片网发送短信验证码的实现

    2021-09-20 18:35:23
  • go sync Once实现原理示例解析

    2023-07-01 12:21:13
  • pytorch训练神经网络爆内存的解决方案

    2023-07-06 01:46:24
  • Python Django view 两种return的实现方式

    2022-05-03 16:07:04
  • python 读取DICOM头文件的实例

    2021-12-03 19:30:48
  • python实现两张图片拼接为一张图片并保存

    2023-01-26 17:56:52
  • 不能忽略c#中的using和as操作符的用处

    2024-03-23 08:08:41
  • 查看Django和flask版本的方法

    2021-01-29 02:50:11
  • 详解如何使用beego orm在postgres中存储图片

    2024-04-25 15:14:46
  • 详解python实现线程安全的单例模式

    2021-05-02 08:57:02
  • JS的编译和执行顺序

    2009-02-01 18:42:00
  • Mysql GTID Mha配置方法

    2024-01-16 22:58:51
  • 通过python实现弹窗广告拦截过程详解

    2022-04-12 09:21:31
  • 使用Selenium破解新浪微博的四宫格验证码

    2021-06-16 11:22:28
  • mysql命令行爱好者必备工具mycli

    2024-01-24 13:33:33
  • GoLang 中的随机数的示例代码

    2024-04-26 17:16:51
  • asp之家 网络编程 m.aspxhome.com