av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

通過(guò)java script腳本復(fù)制網(wǎng)頁(yè)上的一個(gè)表格

時(shí)間:2025-05-13 12:49:29 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

通過(guò)java script腳本復(fù)制網(wǎng)頁(yè)上的一個(gè)表格

  今天有人問(wèn)我一個(gè)問(wèn)題:如何通過(guò)js腳本復(fù)制網(wǎng)頁(yè)上的一個(gè)表格?看起來(lái)似乎比較有難度,不過(guò)還是搞定了,順便把解決這個(gè)問(wèn)題的過(guò)程記錄下來(lái),希望能對(duì)寫腳本的兄弟們有所幫助。

  以前沒(méi)有寫過(guò)這種腳本,不過(guò)想起來(lái)前不久剛看到一個(gè)腳本可以實(shí)現(xiàn)全選HTML編輯器的內(nèi)容,于是想到一個(gè)方案:使用腳本將該表格插入HTML編輯器中,然后全選HTML編輯器內(nèi)容,執(zhí)行HTML編輯器的復(fù)制命令,即可實(shí)現(xiàn)復(fù)制表格功能,很快搞定:

  

<INPUT TYPE="button" value="復(fù)制測(cè)試表格" onclick="CopyTable()"> 

<INPUT TYPE="button" value="將剪切板內(nèi)容輸出到編輯器中" onclick="PastClipboardData()">

 

測(cè)試 

<TABLE id="oTable"> 

<TR> 

 <TD>測(cè)試表格</TD> 

 <TD>測(cè)試表格</TD> 

</TR> 

<TR> 

 <TD>測(cè)試表格</TD> 

 <TD>測(cè)試表格</TD> 

</TR> 

</TABLE>文字


 

<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(); // 選中編輯器內(nèi)所有內(nèi)容 

 editor.document.execCommand("copy","",null); // 復(fù)制 

function PastClipboardData() 

 editor.focus(); 

 editor.document.execCommand("paste","",null); // 粘貼 

//--> 

</SCRIPT>

  這樣子功能是實(shí)現(xiàn)了,不過(guò)覺(jué)得有點(diǎn)不爽,必須借助HTML編輯器才可,不過(guò)從全選HTML編輯器的代碼中,注意到了createTextRange()方法,這個(gè)方法以前就有用過(guò),只是一直沒(méi)深入研究過(guò)。在Msdn中發(fā)現(xiàn)只有Body、TextArea等對(duì)象支持createTextRange()方法,繼續(xù)在msdn中仔細(xì)查閱了一下,createTextRange()返回的是一個(gè)TextRange對(duì)象,繼續(xù)查閱TextRange對(duì)象,發(fā)現(xiàn)其有很多方法,先試了試findText方法,發(fā)現(xiàn)只能選中文字,不能選中對(duì)象,繼續(xù)找,終于發(fā)現(xiàn)了moveToElementText就是我們要找的方法:

<INPUT TYPE="button" value="選中測(cè)試表格" onclick="CopyTable()"> 

測(cè)試 

<TABLE id="oTable"> 

<TR> 

 <TD>測(cè)試表格</TD> 

 <TD>測(cè)試表格</TD> 

</TR> 

<TR> 

 <TD>測(cè)試表格</TD> 

 <TD>測(cè)試表格</TD> 

</TR> 

</TABLE>文字 

<SCRIPT LANGUAGE="JavaScript"> 

<!-- 

function CopyTable() 

 var txt = document.body.createTextRange(); 

 txt.moveToElementText(oTable); 

 txt.select(); 

//--> 

</SCRIPT> 

  類似于這樣的問(wèn)題,可以想想以前有無(wú)寫過(guò)見(jiàn)過(guò)類似的代碼,如果沒(méi)有也可以網(wǎng)上用關(guān)鍵字搜索一把,直接利用現(xiàn)有知識(shí)解決。msdn是一個(gè)非常好的寶庫(kù),就如小學(xué)學(xué)漢字的字典一樣,從里面可以找到絕大部分所需要的資料。正應(yīng)了那句話,自己動(dòng)手豐衣足食:)

【通過(guò)java script腳本復(fù)制網(wǎng)頁(yè)上的一個(gè)表格】相關(guān)文章:

java script remove Child的使用注意事項(xiàng)08-14

編寫Java無(wú)腳本的JSP頁(yè)面的方法08-18

linux下執(zhí)行java程序的sh腳本教程08-15

Excel2013如何導(dǎo)入網(wǎng)頁(yè)上的表格10-09

java如何通過(guò)url讀取文件05-07

如何通過(guò)編程發(fā)現(xiàn)Java死鎖08-30

復(fù)制Excel表格到PowerPoint文件中09-25

Word2007復(fù)制或剪切表格的技巧09-04

在WPS表格中快速?gòu)?fù)制公式的方法06-14