通過js腳本復制網頁上的一個表格的不錯實現方法
更新時間:2006年12月29日 00:00:00 作者:
今天有人問我一個問題:如何通過js腳本復制網頁上的一個表格?看起來似乎比較有難度,不過還是搞定了,順便把解決這個問題的過程記錄下來,希望能對寫腳本的兄弟們有所幫助。
以前沒有寫過這種腳本,不過想起來前不久剛看到一個腳本可以實現全選HTML編輯器的內容,于是想到一個方案:使用腳本將該表格插入HTML編輯器中,然后全選HTML編輯器內容,執(zhí)行HTML編輯器的復制命令,即可實現復制表格功能,很快搞定:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
這樣子功能是實現了,不過覺得有點不爽,必須借助HTML編輯器才可,不過從全選HTML編輯器的代碼中,注意到了createTextRange()方法,這個方法以前就有用過,只是一直沒深入研究過。在Msdn中發(fā)現只有Body、TextArea等對象支持createTextRange()方法,繼續(xù)在msdn中仔細查閱了一下,createTextRange()返回的是一個 TextRange 對象,繼續(xù)查閱 TextRange 對象,發(fā)現其有很多方法,先試了試findText方法,發(fā)現只能選中文字,不能選中對象,繼續(xù)找,終于發(fā)現了moveToElementText就是我們要找的方法:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
類似于這樣的問題,可以想想以前有無寫過見過類似的代碼,如果沒有也可以網上用關鍵字搜索一把,直接利用現有知識解決。msdn是一個非常好的寶庫,就如小學學漢字的字典一樣,從里面可以找到絕大部分所需要的資料。正應了那句話,自己動手豐衣足食:)
以前沒有寫過這種腳本,不過想起來前不久剛看到一個腳本可以實現全選HTML編輯器的內容,于是想到一個方案:使用腳本將該表格插入HTML編輯器中,然后全選HTML編輯器內容,執(zhí)行HTML編輯器的復制命令,即可實現復制表格功能,很快搞定:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
這樣子功能是實現了,不過覺得有點不爽,必須借助HTML編輯器才可,不過從全選HTML編輯器的代碼中,注意到了createTextRange()方法,這個方法以前就有用過,只是一直沒深入研究過。在Msdn中發(fā)現只有Body、TextArea等對象支持createTextRange()方法,繼續(xù)在msdn中仔細查閱了一下,createTextRange()返回的是一個 TextRange 對象,繼續(xù)查閱 TextRange 對象,發(fā)現其有很多方法,先試了試findText方法,發(fā)現只能選中文字,不能選中對象,繼續(xù)找,終于發(fā)現了moveToElementText就是我們要找的方法:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
類似于這樣的問題,可以想想以前有無寫過見過類似的代碼,如果沒有也可以網上用關鍵字搜索一把,直接利用現有知識解決。msdn是一個非常好的寶庫,就如小學學漢字的字典一樣,從里面可以找到絕大部分所需要的資料。正應了那句話,自己動手豐衣足食:)
相關文章
javascript 正則表達式觸發(fā)函數進行高級替換
如果在正則表達式中定義了子匹配,那么參數的長度會隨著子匹配的個數改變,如果沒有定義子匹配,那么長度是固定的。2010-03-03