通过JavaScript脚本复制网页上的一个表格
2009-09-30 15:30
645 查看
<INPUT TYPE="button" value="复制测试表格" onclick="CopyTable()">
<INPUT TYPE="button" value="将剪切板内容输出到编辑器中" onclick="PastClipboardData()"><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="选中测试表格" onclick="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(oTable);
txt.select();
}
-->
</SCRIPT>
<INPUT TYPE="button" value="将剪切板内容输出到编辑器中" onclick="PastClipboardData()"><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="选中测试表格" onclick="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(oTable);
txt.select();
}
-->
</SCRIPT>
相关文章推荐
- 通过JavaScript脚本复制网页上的一个表格
- 通过JavaScript脚本复制网页上的一个表格
- 通过JavaScript脚本复制网页上的一个表格
- 通过JavaScript脚本复制网页上的一个表格
- 通过js脚本复制网页上的一个表格的不错实现方法
- 通过js脚本复制网页上的一个表格的不错实现方法
- 使用chrome extend写一个操作京东网页的JavaScript脚本
- 通过JavaScript脚本来实现网页视频聊天室的快速制作
- javascript复制网页表格内容
- [置顶] 通过JavaScript脚本来实现网页视频聊天室的快速制作
- 一个禁止右键、选择、拖曳、清空剪切板、禁止网页另存为的实用JavaScript脚本
- 用javascript复制一个表格数据
- 使用chrome浏览器禁止javascript复制无法复制的网页内容
- VC++开发的ActiveX如何通过JavaScript脚本和EOS应用交互
- 将一个JQGrid的数据通过拖曳的方式将数据复制到JQGrid
- javascript将网页表格导出Word(转载)
- javascript显示和隐藏一个表格
- javascript轻松控制表格列样式的脚本代码
- 一个网友写的一些javascript脚本,希望大家喜欢!(转载)
- javascript实现禁止复制网页内容