通過(guò)js腳本復(fù)制網(wǎng)頁(yè)上的一個(gè)表格的不錯(cuò)實(shí)現(xiàn)方法
更新時(shí)間:2006年12月29日 00:00:00 作者:
今天有人問(wèn)我一個(gè)問(wèn)題:如何通過(guò)js腳本復(fù)制網(wǎng)頁(yè)上的一個(gè)表格?看起來(lái)似乎比較有難度,不過(guò)還是搞定了,順便把解決這個(gè)問(wèn)題的過(guò)程記錄下來(lái),希望能對(duì)寫(xiě)腳本的兄弟們有所幫助。
以前沒(méi)有寫(xiě)過(guò)這種腳本,不過(guò)想起來(lái)前不久剛看到一個(gè)腳本可以實(shí)現(xiàn)全選HTML編輯器的內(nèi)容,于是想到一個(gè)方案:使用腳本將該表格插入HTML編輯器中,然后全選HTML編輯器內(nèi)容,執(zhí)行HTML編輯器的復(fù)制命令,即可實(shí)現(xiàn)復(fù)制表格功能,很快搞定:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
這樣子功能是實(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就是我們要找的方法:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
類(lèi)似于這樣的問(wèn)題,可以想想以前有無(wú)寫(xiě)過(guò)見(jiàn)過(guò)類(lèi)似的代碼,如果沒(méi)有也可以網(wǎng)上用關(guān)鍵字搜索一把,直接利用現(xiàn)有知識(shí)解決。msdn是一個(gè)非常好的寶庫(kù),就如小學(xué)學(xué)漢字的字典一樣,從里面可以找到絕大部分所需要的資料。正應(yīng)了那句話(huà),自己動(dòng)手豐衣足食:)
以前沒(méi)有寫(xiě)過(guò)這種腳本,不過(guò)想起來(lái)前不久剛看到一個(gè)腳本可以實(shí)現(xiàn)全選HTML編輯器的內(nèi)容,于是想到一個(gè)方案:使用腳本將該表格插入HTML編輯器中,然后全選HTML編輯器內(nèi)容,執(zhí)行HTML編輯器的復(fù)制命令,即可實(shí)現(xiàn)復(fù)制表格功能,很快搞定:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
這樣子功能是實(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就是我們要找的方法:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
類(lèi)似于這樣的問(wèn)題,可以想想以前有無(wú)寫(xiě)過(guò)見(jiàn)過(guò)類(lèi)似的代碼,如果沒(méi)有也可以網(wǎng)上用關(guān)鍵字搜索一把,直接利用現(xiàn)有知識(shí)解決。msdn是一個(gè)非常好的寶庫(kù),就如小學(xué)學(xué)漢字的字典一樣,從里面可以找到絕大部分所需要的資料。正應(yīng)了那句話(huà),自己動(dòng)手豐衣足食:)
您可能感興趣的文章:
- JS實(shí)現(xiàn)網(wǎng)頁(yè)表格自動(dòng)變大縮小的方法
- JS控制網(wǎng)頁(yè)動(dòng)態(tài)生成任意行列數(shù)表格的方法
- JS實(shí)現(xiàn)表格數(shù)據(jù)各種搜索功能的方法
- JS實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊展開(kāi)或隱藏表格行的方法
- 不到30行JS代碼實(shí)現(xiàn)Excel表格的方法
- js生成動(dòng)態(tài)表格并為每個(gè)單元格添加單擊事件的方法
- 解析js原生方法創(chuàng)建表格效率測(cè)試
- JS控制表格實(shí)現(xiàn)一條光線(xiàn)流動(dòng)分割行的方法
相關(guān)文章
uniapp小程序?qū)崿F(xiàn)瀑布流布局的思路與代碼
這篇文章主要給大家介紹了關(guān)于uniapp小程序?qū)崿F(xiàn)瀑布流布局的思路與代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04javascript 正則表達(dá)式觸發(fā)函數(shù)進(jìn)行高級(jí)替換
如果在正則表達(dá)式中定義了子匹配,那么參數(shù)的長(zhǎng)度會(huì)隨著子匹配的個(gè)數(shù)改變,如果沒(méi)有定義子匹配,那么長(zhǎng)度是固定的。2010-03-03純javascript實(shí)現(xiàn)選擇框的全選與反選功能
這篇文章主要介紹了純javascript實(shí)現(xiàn)選擇框的全選與反選 ,需要的朋友可以參考下2019-04-04