專利名稱:一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)瀏覽器領(lǐng)域,更具體地,涉及一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法和裝置。
背景技術(shù):
微博,即微型博客(MiCToBlog),是一個(gè)基于用戶關(guān)系的信息分享、傳播以及獲取平臺(tái),用戶通過WEB、WAP以及各種客戶端組建個(gè)人社區(qū),以特定數(shù)量的文字更新信息,并實(shí)現(xiàn)即時(shí)分享。最早的、也是最著名的微博是美國(guó)的twitter,根據(jù)相關(guān)公開的數(shù)據(jù),截至2012年7月份,該產(chǎn)品在全球已經(jīng)擁有5億注冊(cè)用戶。2009年8月份中國(guó)最大的門戶網(wǎng)站新浪網(wǎng)推出“新浪微博”內(nèi)測(cè)版,成為門戶網(wǎng)站中第一家提供微博服務(wù)的網(wǎng)站,微博正式進(jìn)入中文上網(wǎng)主流人群視野。現(xiàn)有技術(shù)中,微博使用一個(gè)textarea控件作為輸入框,向該控件中進(jìn)行輸入文字,然后將輸入的文字提交微博服務(wù)器。在微博的發(fā)展歷史中,逐漸形成了對(duì)每條微博所含文字?jǐn)?shù)量的限制,例如twitter限制每條微博不多于140個(gè)英文字符,新浪微博限制每條微博不多于140個(gè)中文字符。對(duì)于輸入的文字?jǐn)?shù)量大于140時(shí)會(huì)提示上傳失敗,不能提交。因此,對(duì)于140字以上的長(zhǎng)文字的輸入,一般需要使用長(zhǎng)文字轉(zhuǎn)換工具,先生成包含所述長(zhǎng)文字的圖片,再以圖片文件的格式向微博提交??梢?,對(duì)于用戶所發(fā)微博為超過例如140字的長(zhǎng)文字微博時(shí),必須另外進(jìn)行長(zhǎng)文字轉(zhuǎn)換,為用戶帶來了額外的操作步驟,極大降低了用戶體驗(yàn)。用戶希望采用更簡(jiǎn)單、更有效率的方式來實(shí)現(xiàn)長(zhǎng)文字微博的提交。
發(fā)明內(nèi)容
本發(fā)明提供一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法和裝置,實(shí)現(xiàn)了長(zhǎng)文本微博的直接、快速的提交,極大提高了用戶的操作效率,從而改善了用戶體驗(yàn)。本發(fā)明所述通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法包括-在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的DIV層;-檢測(cè)到向所述文本輸入框輸入文本的事件;-在文本輸入框上的所述DIV層中生成所述文本的HTML元素;-判斷輸入的文本為長(zhǎng)文本;-檢測(cè)到文本輸入框的提交事件;-將所述文本的HTML元素轉(zhuǎn)換為圖片文件;并-將所述圖片文件上傳至服務(wù)器側(cè)??蛇x地,生成DIV層的步驟包括在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的文本輸入框?qū)ο蟮亩ㄖ铺幚砟K生成覆蓋所述文本輸入框上的DIV層。其中,所述文本輸入框由DOM對(duì)象提供,響應(yīng)于該DOM對(duì)象加載完成時(shí)觸發(fā)的ContentReady事件,生成所述DIV層;或響應(yīng)于整個(gè)HTML網(wǎng)頁加載完成時(shí)觸發(fā)的DocumentReady事件,生成所述DIV層。可選地,檢測(cè)到輸入文本的事件的步驟包括檢測(cè)到拖曳文本到所述DIV層上時(shí)的ondragenter事件和ondragover事件;或檢測(cè)到復(fù)制文本到所述DIV層上時(shí)的onCopyHTML事件;或檢測(cè)到復(fù)制系統(tǒng)剪貼板文本到所述DIV層上時(shí)的onpaste事件??蛇x地,生成文本的HTML元素的步驟包括調(diào)用瀏覽器側(cè)的HTML元素轉(zhuǎn)換模塊,將所述文本轉(zhuǎn)換為HTML元素,并插入到所述DIV層;轉(zhuǎn)換圖片文件的步驟包括調(diào)用瀏覽器側(cè)的文本圖片轉(zhuǎn)換模塊,將所述DIV層中所述HTML元素轉(zhuǎn)換為圖片文件。可選地,所述上傳圖片的步驟包括將所述圖片直接上傳至服務(wù)器側(cè);或?qū)⑺鰣D片上傳至圖床服務(wù)器,從所述圖床服務(wù)器獲取圖片的URL地址,并將所獲取的URL地址上傳至服務(wù)器側(cè)??蛇x地,當(dāng)輸入文本輸入框中的文本字?jǐn)?shù)超過預(yù)定字?jǐn)?shù)時(shí),例如140字,判斷所述輸入的文本為長(zhǎng)文本??蛇x地,在轉(zhuǎn)換圖片文件的步驟之前還可以包括提示用戶輸入文本框的字?jǐn)?shù)超過預(yù)定字?jǐn)?shù),將自動(dòng)進(jìn)行圖片轉(zhuǎn)換操作。可選地,所述提交事件是所述文本輸入框的控件失去焦點(diǎn),或所述文本輸入框的提交按鈕被點(diǎn)擊。進(jìn)一步地,本發(fā)明還提供了一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的裝置,包括-層生成單元,適于在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的DIV層;-輸入檢測(cè)單元,適于檢測(cè)到向所述文本輸入框輸入文本的事件;-HTML元素生成單元,適于在文本輸入框上的所述DIV層中生成所述文本的HTML元素;-判斷單元,適于判斷輸入的文本為長(zhǎng)文本;-提交檢測(cè)單元,適于檢測(cè)到文本輸入框的提交事件;-圖片轉(zhuǎn)換單元,適于將所述文本的HTML元素轉(zhuǎn)換為圖片文件;并-上傳單元,適于將所述圖片文件上傳至服務(wù)器側(cè)??蛇x地,層生成單元適于在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的文本輸入框?qū)ο蟮亩ㄖ铺幚砟K生成覆蓋所述文本輸入框上的DIV層。其中,所述文本輸入框由DOM對(duì)象提供,則所述層生成單元適于響應(yīng)于該DOM對(duì)象加載完成時(shí)觸發(fā)的ContentReady事件,生成所述DIV層;或響應(yīng)于整個(gè)HTML網(wǎng)頁加載完成時(shí)觸發(fā)的DocumentReady事件,生成所述DIV層??蛇x地,輸入檢測(cè)單元適于檢測(cè)到拖曳文本到所述DIV層上時(shí)的ondragenter事件和ondragover事件;或檢測(cè)到復(fù)制文本到所述DIV層上時(shí)的onCopyHTML事件;或檢測(cè)到復(fù)制系統(tǒng)剪貼板文本到所述DIV層上時(shí)的onpaste事件??蛇x地,HTML元素生成單元適于調(diào)用瀏覽器側(cè)的HTML元素轉(zhuǎn)換模塊,將所述文本轉(zhuǎn)換為HTML元素,并插入到所述DIV層;圖片轉(zhuǎn)換單元適于調(diào)用瀏覽器側(cè)的文本圖片轉(zhuǎn)換模塊,將所述DIV層中所述HTML元素轉(zhuǎn)換為圖片文件??蛇x地,上傳單元適于將所述圖片直接上傳至服務(wù)器側(cè);或?qū)⑺鰣D片上傳至圖床服務(wù)器,從所述圖床服務(wù)器獲取圖片的URL地址,并將所獲取的URL地址上傳至服務(wù)器側(cè)。根據(jù)本發(fā)明提供的通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法和裝置,所述服務(wù)器為微博服務(wù)器,通過上述覆蓋在所述文本輸入框上的DIV層,實(shí)現(xiàn)了超過預(yù)定字?jǐn)?shù)的長(zhǎng)文本微博的輸入和提交,并且支持了文字的鍵入、復(fù)制和拖拽,極大簡(jiǎn)化了用戶發(fā)布長(zhǎng)文字微博的繁瑣操作,改善了用戶體驗(yàn)。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
,并配合附圖,詳細(xì)說明如下。
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出具體實(shí)施方式
的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖I為根據(jù)本發(fā)明一個(gè)實(shí)施例的提交長(zhǎng)文本方法的流程圖;圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的提交長(zhǎng)文本裝置的示意圖。
具體實(shí)施例方式本發(fā)明提供了一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本方法和裝置,下面將結(jié)合附圖詳細(xì)說明如下。圖I示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的提交長(zhǎng)文本的方法。根據(jù)圖I所示的實(shí)施例,所述服務(wù)器為微博服務(wù)器,所示方法為通過網(wǎng)頁的文本輸入框向微博服務(wù)器提交并發(fā)布長(zhǎng)文本微博。步驟101為DIV層生成步驟,用于在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的DIV層。通常,網(wǎng)頁的文本輸入框可以由DOM對(duì)象提供。DOM對(duì)象在網(wǎng)頁瀏覽器中加載完成后,會(huì)有相應(yīng)的加載完成事件被觸發(fā),如ContentReady事件。在該加載完成事件觸發(fā)后,則可以調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)來生成DIV層,該定制處理函數(shù)可以是在網(wǎng)頁瀏覽器處預(yù)先編制好??商鎿Q地,也可以是在包括該文本輸入框的整個(gè)HTML網(wǎng)頁都加載完成后再生成所需的DIV層,此時(shí)該生成操作可以由整個(gè)網(wǎng)頁的加載完成事件如DocumentReady的觸發(fā)來調(diào)用定制處理函數(shù)來實(shí)現(xiàn)。定制處理函數(shù)生成一個(gè)附加的DIV層疊加在該文本輸入框之上作為懸浮層。這樣,用戶向該文本輸入框的文本輸入操作和輸入的文本則由該DIV層先接收,而從用戶的角度來看,則感覺依然是輸入到了原有的文本輸入框中。步驟102為輸入事件檢測(cè)步驟,用于檢測(cè)到向所述文本輸入框輸入文本的事件。如前所述,用戶在通過網(wǎng)頁瀏覽器向網(wǎng)頁的文本輸入框輸入文本時(shí),該文本輸入事件實(shí)際上是發(fā)生在步驟101中生成的DIV上。在實(shí)際操作中,用戶可以通過拖拽、復(fù)制或者鍵盤輸入等操作進(jìn)行文本輸入,這些操作會(huì)產(chǎn)生對(duì)應(yīng)的文本輸入事件。需要注意的是,當(dāng)網(wǎng)頁瀏覽器采用IE內(nèi)核時(shí),IE默認(rèn)情況下禁止通過拖拽或拷貝的方式向DIV層輸入或?qū)懭胛谋?。因此,在步驟101中生成該DIV層時(shí),需要使得該DIV屏蔽系統(tǒng)的默認(rèn)處理,以允許向該DIV層輸入文本。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述輸入文本的事件包括在網(wǎng)頁中的文本被拖曳到DIV層中時(shí),DIV層的ondragenter事件和ondragover事件被觸發(fā);當(dāng)網(wǎng)頁中的文本被復(fù)制時(shí),onCopyHTML事件被觸發(fā);或者,在操作系統(tǒng)中的文本通過CTRL+C被復(fù)制并通過CTRL+V被粘貼時(shí),onpaste事件被觸發(fā)。步驟103為HTML元素生成步驟,用于在文本輸入框上的所述DIV層中生成所述文本的HTML元素。具體地,步驟103調(diào)用瀏覽器側(cè)的HTML元素轉(zhuǎn)換模塊,用相應(yīng)的HTML標(biāo)簽標(biāo)記所述文本的內(nèi)容,以將其轉(zhuǎn)換為所述文本對(duì)應(yīng)的HTML元素。在文本對(duì)應(yīng)的HTML元素中,還可以用size、style等屬性來對(duì)諸如字體大小、顯示方式等進(jìn)行配置。因此,本發(fā)明可以支持有格式的文本作為待輸入數(shù)據(jù)。步驟104為長(zhǎng)文本判斷步驟,當(dāng)輸入文本輸入框中的文本字?jǐn)?shù)超過預(yù)定字?jǐn)?shù)時(shí),例如140中文字,判斷所述輸入的文本為長(zhǎng)文本。當(dāng)然,所述預(yù)定字?jǐn)?shù)也可以是其它約定的字?jǐn)?shù),例如網(wǎng)易微博的長(zhǎng)文本預(yù)定字?jǐn)?shù)就為163中文字。步驟105為提交事件檢測(cè)步驟,所述提交事件是所述文本輸入框的控件失去焦點(diǎn),或所述文本輸入框的提交按鈕被點(diǎn)擊。步驟106,即圖片轉(zhuǎn)換步驟,調(diào)用瀏覽器側(cè)的文本圖片轉(zhuǎn)換模塊,將所述DIV層中所述HTML元素轉(zhuǎn)換為圖片文件,所述圖片文件可以是GIF格式,或者是PNG格式等等??蛇x地,在進(jìn)行步驟106之前還可以提示用戶輸入文本框的字?jǐn)?shù)超過預(yù)定字?jǐn)?shù),將自動(dòng)進(jìn)行圖片轉(zhuǎn)換操作,以提高用戶體驗(yàn)。步驟107為圖片上傳步驟,用于將步驟106生成的圖片文件上傳至微博服務(wù)器。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述圖片可以直接上傳至微博服務(wù)器;可替換地,根據(jù)本發(fā)明的另一實(shí)施例,所述圖片還可以上傳至圖床服務(wù)器,從所述圖床服務(wù)器獲取圖片的URL地址,并將所獲取的URL地址上傳至微博服務(wù)器。比較上傳圖片至微博服務(wù)器和上傳圖片的URL地址至微博服務(wù)器,后者上傳速度更快,一旦圖片的URL地址上傳至微博服務(wù)器,即向用戶顯示微博發(fā)布成功,縮短了用戶發(fā)布微博的等待時(shí)間,改善了用戶體驗(yàn)。當(dāng)然,如果步驟104的判斷結(jié)果為非長(zhǎng)文本,例如輸入文本少于140字,則在后續(xù)檢測(cè)到提交事件時(shí)直接向微博服務(wù)器上傳所述文本。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明了,圖I所示實(shí)施例并不嚴(yán)格限制各步驟之間的順序,除了根據(jù)圖I文字部分清楚示出對(duì)步驟順序的限制之外,部分步驟之間的順序是可以根據(jù)實(shí)際情況進(jìn)行調(diào)整的。圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的提交長(zhǎng)文本的裝置。根據(jù)圖2所示的實(shí)施例,所述服務(wù)器為微博服務(wù)器,所示裝置用于通過網(wǎng)頁的文本輸入框向微博服務(wù)器提交并發(fā)布長(zhǎng)文本微博,包括如下部件層生成單元201,適于在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的DIV層;具體地,在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的文本輸入框?qū)ο蟮亩ㄖ铺幚砟K生成覆蓋所述文本輸入框上的DIV層。其中,所述文本輸入框由DOM對(duì)象提供,則所述層生成單元適于響應(yīng)于該DOM對(duì)象加載完成時(shí)觸發(fā)的ContentReady事件,生成所述DIV層;或響應(yīng)于整個(gè)HTML網(wǎng)頁加載完成時(shí)觸發(fā)的DocumentReady事件,生成所述DIV層。
輸入檢測(cè)單元202,適于檢測(cè)到向所述文本輸入框輸入文本的事件;所述文本輸入事件包括檢測(cè)到拖曳文本到所述DIV層上時(shí)的ondragenter事件和ondragover事件;或檢測(cè)到復(fù)制文本到所述DIV層上時(shí)的onCopyHTML事件;或檢測(cè)到復(fù)制系統(tǒng)剪貼板文本到所述DIV層上時(shí)的onpaste事件。HTML元素生成單元203,適于在文本輸入框上的所述DIV層中生成所述文本的HTML元素;具體地,調(diào)用瀏覽器側(cè)的HTML元素轉(zhuǎn)換模塊,將所述文本轉(zhuǎn)換為HTML元素,并插入到所述DIV層。判斷單元204,適于判斷輸入的文本為長(zhǎng)文本;具體地,當(dāng)輸入文本輸入框中的文本字?jǐn)?shù)超過預(yù)定字?jǐn)?shù)時(shí),例如140中文字,判斷所述輸入的文本為長(zhǎng)文本。提交檢測(cè)單元205,適于檢測(cè)到文本輸入框的提交事件;所述提交事件是所述文本輸入框的控件失去焦點(diǎn),或所述文本輸入框的提交按鈕被點(diǎn)擊。圖片轉(zhuǎn)換單元206,適于將所述文本的HTML元素轉(zhuǎn)換為圖片文件;具體地,調(diào)用瀏覽器側(cè)的文本圖片轉(zhuǎn)換模塊,將所述DIV層中所述HTML元素轉(zhuǎn)換為圖片文件,例如GIF格式或GNP格式的圖片文件。上傳單元207,適于將所述圖片文件上傳至服務(wù)器側(cè);具體地,可以將所述圖片直接上傳至服務(wù)器側(cè);或?qū)⑺鰣D片上傳至圖床服務(wù)器,從所述圖床服務(wù)器獲取圖片的URL地址,并將所獲取的URL地址上傳至服務(wù)器側(cè)。根據(jù)本發(fā)明實(shí)施例提供的通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法和裝置,通過上述覆蓋在所述文本輸入框上的DIV層,實(shí)現(xiàn)了超過預(yù)定字?jǐn)?shù)的長(zhǎng)文本微博的輸入和提交,并且支持了文字的鍵入、復(fù)制和拖拽,極大簡(jiǎn)化了用戶發(fā)布長(zhǎng)文字微博的繁瑣操作,改善了用戶體驗(yàn)。本發(fā)明提供的方法不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書由此明確地并入該具體實(shí)施方式
,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法,包括在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的DIV層;檢測(cè)到向所述文本輸入框輸入文本的事件;在文本輸入框上的所述DIV層中生成所述文本的HTML元素;判斷輸入的文本為長(zhǎng)文本;檢測(cè)到文本輸入框的提交事件;將所述文本的HTML元素轉(zhuǎn)換為圖片文件;并將所述圖片文件上傳至服務(wù)器側(cè)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,生成DIV層的步驟包括在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的文本輸入框?qū)ο蟮亩ㄖ铺幚砟K生成覆蓋所述文本輸入框上的DIV層。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,檢測(cè)到輸入文本的事件的步驟包括檢測(cè)到拖曳文本到所述DIV層上時(shí)的ondragenter事件和ondragover事件;或檢測(cè)到復(fù)制文本到所述DIV層上時(shí)的onCopyHTML事件;或檢測(cè)到復(fù)制系統(tǒng)剪貼板文本到所述DIV層上時(shí)的onpaste事件。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,生成文本的HTML元素的步驟包括調(diào)用瀏覽器側(cè)的HTML元素轉(zhuǎn)換模塊,將所述文本轉(zhuǎn)換為HTML元素,并插入到所述DIV層。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,轉(zhuǎn)換圖片文件的步驟包括調(diào)用瀏覽器側(cè)的文本圖片轉(zhuǎn)換模塊,將所述DIV層中所述HTML元素轉(zhuǎn)換為圖片文件。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述上傳圖片的步驟包括將所述圖片直接上傳至服務(wù)器側(cè);或?qū)⑺鰣D片上傳至圖床服務(wù)器,從所述圖床服務(wù)器獲取圖片的URL地址,并將所獲取的URL地址上傳至服務(wù)器側(cè)。
7.如權(quán)利要求1-6中任一權(quán)利要求所述的方法,其特征在于,所述服務(wù)器為微博服務(wù)器,其中判斷長(zhǎng)文本的步驟包括當(dāng)所述文本的字?jǐn)?shù)超過預(yù)定字?jǐn)?shù),判斷所述輸入的文本為長(zhǎng)文本。
8.如權(quán)利要求7所述的方法,其特征在于,在轉(zhuǎn)換圖片文件的步驟之前還包括提示用戶輸入文本框的字?jǐn)?shù)超過預(yù)定字?jǐn)?shù),將自動(dòng)進(jìn)行圖片轉(zhuǎn)換操作。
9.根據(jù)權(quán)利要求I所述的方法,其特征在于,其中所述提交事件是所述文本輸入框的控件失去焦點(diǎn),或所述文本輸入框的提交按鈕被點(diǎn)擊。
10.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述文本輸入框由DOM對(duì)象提供, 響應(yīng)于該DOM對(duì)象加載完成時(shí)觸發(fā)的ContentReady事件,生成所述DIV層;或響應(yīng)于整個(gè)HTML網(wǎng)頁加載完成時(shí)觸發(fā)的DocumentReady事件,生成所述DIV層。
11.一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的裝置,包括層生成單元,適于在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的DIV層;輸入檢測(cè)單元,適于檢測(cè)到向所述文本輸入框輸入文本的事件;HTM L元素生成單元,適于在文本輸入框上的所述DIV層中生成所述文本的HTML元素; 判斷単元,適于判斷輸入的文本為長(zhǎng)文本; 提交檢測(cè)單元,適于檢測(cè)到文本輸入框的提交事件; 圖片轉(zhuǎn)換單元,適于將所述文本的HTML元素轉(zhuǎn)換為圖片文件;并 上傳單元,適于將所述圖片文件上傳至服務(wù)器側(cè)。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,層生成単元適于 在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的文本輸入框?qū)ο蟮亩ㄖ铺幚砟K生成覆蓋所述文本輸入框上的DIV層。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,輸入檢測(cè)單元適于 檢測(cè)到拖曳文本到所述DIV層上時(shí)的ondragenter事件和ondragover事件;或 檢測(cè)到復(fù)制文本到所述DIV層上時(shí)的onCopyHTML事件;或 檢測(cè)到復(fù)制系統(tǒng)剪貼板文本到所述DIV層上時(shí)的onpaste事件。
14.根據(jù)權(quán)利要求11所述的裝置,其特征在干,HTML元素生成単元適于 調(diào)用瀏覽器側(cè)的HTM L元素轉(zhuǎn)換模塊,將所述文本轉(zhuǎn)換為HTML元素,并插入到所述DIV層。
15.根據(jù)權(quán)利要求11所述的裝置,其特征在干,圖片轉(zhuǎn)換單元適于 調(diào)用瀏覽器側(cè)的文本圖片轉(zhuǎn)換模塊,將所述DIV層中所述HTML元素轉(zhuǎn)換為圖片文件。
16.根據(jù)權(quán)利要求11所述的裝置,其特征在于,上傳單元適于 將所述圖片直接上傳至服務(wù)器側(cè);或 將所述圖片上傳至圖床服務(wù)器,從所述圖床服務(wù)器獲取圖片的URL地址,并將所獲取的URL地址上傳至服務(wù)器側(cè)。
17.如權(quán)利要求11-16中任ー權(quán)利要求所述的裝置,其特征在于,所述服務(wù)器為微博服務(wù)器,其中判斷単元適于 當(dāng)所述文本的字?jǐn)?shù)超過預(yù)定字?jǐn)?shù),判斷所述輸入的文本為長(zhǎng)文本。
18.如權(quán)利要求17所述的裝置,其特征在干,圖片轉(zhuǎn)換單元還適于 提示用戶輸入文本框的字?jǐn)?shù)超過預(yù)定字?jǐn)?shù),將自動(dòng)進(jìn)行圖片轉(zhuǎn)換操作。
19.根據(jù)權(quán)利要求11所述的裝置,其特征在于,其中所述提交事件是所述文本輸入框的控件失去焦點(diǎn),或所述文本輸入框的提交按鈕被點(diǎn)擊。
20.根據(jù)權(quán)利要求11或12所述的裝置,其特征在于,所述文本輸入框由DOM對(duì)象提供,所述層生成単元適于 響應(yīng)于該DOM對(duì)象加載完成時(shí)觸發(fā)的ContentReady事件,生成所述DIV層;或 響應(yīng)于整個(gè)HTML網(wǎng)頁加載完成時(shí)觸發(fā)的DocumentReady事件,生成所述DIV層。
全文摘要
本發(fā)明公開了一種通過網(wǎng)頁的文本輸入框提交長(zhǎng)文本的方法,包括在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的DIV層;檢測(cè)到向所述文本輸入框輸入文本的事件;在文本輸入框上的所述DIV層中生成所述文本的HTML元素;判斷輸入的文本為長(zhǎng)文本;檢測(cè)到文本輸入框的提交事件時(shí)將所述文本的HTML元素轉(zhuǎn)換為圖片文件,并將所述圖片文件上傳至服務(wù)器側(cè)。所述服務(wù)器為微博服務(wù)器,通過上述DIV層,實(shí)現(xiàn)了超過預(yù)定字?jǐn)?shù)的長(zhǎng)文本微博的直接提交,極大簡(jiǎn)化了用戶發(fā)布長(zhǎng)文字微博的繁瑣操作,改善了用戶體驗(yàn)。本發(fā)明還公開了一種提交長(zhǎng)文本的裝置。
文檔編號(hào)G06F17/30GK102981853SQ20121046057
公開日2013年3月20日 申請(qǐng)日期2012年11月15日 優(yōu)先權(quán)日2012年11月15日
發(fā)明者唐曦, 陳志 , 李鳴, 任寰 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司