<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            通過java script腳本復制網頁上的一個表格

            時間:2025-05-13 12:49:29 java語言 我要投稿
            • 相關推薦

            通過java script腳本復制網頁上的一個表格

              今天有人問我一個問題:如何通過js腳本復制網頁上的一個表格?看起來似乎比較有難度,不過還是搞定了,順便把解決這個問題的過程記錄下來,希望能對寫腳本的兄弟們有所幫助。

              以前沒有寫過這種腳本,不過想起來前不久剛看到一個腳本可以實現全選HTML編輯器的內容,于是想到一個方案:使用腳本將該表格插入HTML編輯器中,然后全選HTML編輯器內容,執行HTML編輯器的復制命令,即可實現復制表格功能,很快搞定:

              

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

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

             

            測試 

            <TABLE 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"> 

            <!-- 

            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 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> 

              類似于這樣的問題,可以想想以前有無寫過見過類似的代碼,如果沒有也可以網上用關鍵字搜索一把,直接利用現有知識解決。msdn是一個非常好的寶庫,就如小學學漢字的字典一樣,從里面可以找到絕大部分所需要的資料。正應了那句話,自己動手豐衣足食:)

            【通過java script腳本復制網頁上的一個表格】相關文章:

            java script remove Child的使用注意事項08-14

            編寫Java無腳本的JSP頁面的方法08-18

            linux下執行java程序的sh腳本教程08-15

            Excel2013如何導入網頁上的表格10-09

            java如何通過url讀取文件05-07

            如何通過編程發現Java死鎖08-30

            復制Excel表格到PowerPoint文件中09-25

            Word2007復制或剪切表格的技巧09-04

            在WPS表格中快速復制公式的方法06-14

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看