• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

通过JavaScript脚本复制网页上的一个表_js

javascript 搞代码 7年前 (2018-06-13) 160次浏览 已收录 0个评论

<INPUT TYPE=”button” value=”复制测试表格” >
<INPUT TYPE=”button” value=”将剪切板内容输出到编辑器中” ><BR>
测试
<TABLE border=”1″ id=”oTable”>
<TR>
 <TD>测试表格</TD>
 <TD>测试表格</TD>
</TR>
<TR>
 <TD>测试表格</TD>
 <TD>测试表格</TD>
</TR>
</TABLE>文字<BR><BR>
<iframe id=”editor” src=”about:blank”></iframe>
<SCRIPT LANGUAGE=”JavaScript“>
<!–
function CopyTable()
{
 CopyhtmlElement(oTable)
}
 
function CopyHtmlElement(obj)
{
 editor.document.designMode = ‘On’; // 将iframe变成可编辑模式,即HTML编辑器
 editor.document.write(“<body></body>”);  // 初始化编辑器
 editor.document.body.innerHTML = obj.outerHTML;
 editor.document.body.createTextRange().select(); // 选中编辑器内所有内容
 editor.document.execCommand(“copy”,””,null); // 复制
}
function PastClipboardData()
{
 editor.focus();
 editor.document.execCommand(“paste”,””,null); // 粘贴
}
–>
</SCRIPT>

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


<INPUT TYPE=”button” value=”选中测试表格” >
测试
<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(oTable);
 txt.select();
}
–>
</SCRIPT>

欢迎大家阅读《通过JavaScript脚本复制网页上的一个表…_js,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:通过JavaScript脚本复制网页上的一个表_js
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址