專利名稱:對頁面文本框進(jìn)行處理的瀏覽器及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)應(yīng)用領(lǐng)域,具體涉及一種對頁面文本框進(jìn)行處理的瀏覽器以及利用瀏覽器進(jìn)行頁面文本框進(jìn)行處理的方法。
背景技術(shù):
隨著國際互聯(lián)網(wǎng)的快速發(fā)展,基于國際互聯(lián)網(wǎng)的應(yīng)用和信息也呈現(xiàn)出爆發(fā)性的增長。網(wǎng)絡(luò)瀏覽器為互聯(lián)網(wǎng)用戶提供了一種訪問網(wǎng)絡(luò)信息和使用網(wǎng)絡(luò)應(yīng)用的方式,該方式適用性強(qiáng),越多越多的用戶已經(jīng)習(xí)慣于通過網(wǎng)絡(luò)瀏覽器來獲取各種信息和使用各種應(yīng)用。網(wǎng)絡(luò)信息和應(yīng)用供應(yīng)商提供以諸如HTML (超文本標(biāo)記語言,Hypertext MarkupLanguage)之類格式的語言編寫的網(wǎng)頁,網(wǎng)絡(luò)瀏覽器在用戶處呈現(xiàn)這些網(wǎng)頁,從而使得網(wǎng)絡(luò)瀏覽器的用戶可以獲取相關(guān)信息。隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,由網(wǎng)絡(luò)瀏覽器呈現(xiàn)的內(nèi)容也越來越豐富, 因此網(wǎng)絡(luò)瀏覽器的呈現(xiàn)功能也越來越強(qiáng)大和重要。目前常見的網(wǎng)頁瀏覽器有微軟公司的 Internet Explorer>Mozilia Firefox、谷哥欠公司的 Chrome、0pera 以及蘋果公司的 Safari坐坐寸寸ο
在相關(guān)技術(shù)中,網(wǎng)絡(luò)瀏覽器利用渲染引擎(Rendering Engine)來解釋網(wǎng)頁中的內(nèi)容(如HTML、JavaScript)并渲染(顯示)網(wǎng)頁。渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息。不同的渲染引擎對網(wǎng)頁編寫語法的解釋也有不同,因此同一網(wǎng)頁在不同渲染引擎的瀏覽器里的渲染(顯示)效果也可能不同。
目前網(wǎng)頁瀏覽器的渲染引擎通過將HTML中的各個元素以及js代碼轉(zhuǎn)換成DOM模型來進(jìn)行渲染。在進(jìn)行轉(zhuǎn)換時,整個HTML文檔被構(gòu)建DOM樹,HTML中的各元素被轉(zhuǎn)換成 DOM樹中的對象,而對象之間的關(guān)系被構(gòu)造為節(jié)點(diǎn)和子節(jié)點(diǎn)之間的關(guān)系來構(gòu)造,通過使用有關(guān)對象的方法,可以對這些對象進(jìn)行尋址和操作。DOM模型已經(jīng)具有很多公共的規(guī)范和定義。
當(dāng)網(wǎng)頁瀏覽器處理HTML頁面時,瀏覽器中的渲染引擎對HTML頁面語言進(jìn)行分析, 將其處理為DOM模型,隨后利用DOM模型來構(gòu)造用于在瀏覽器中顯示頁面的內(nèi)部結(jié)構(gòu)。DOM API還向js代碼提供了監(jiān)控或者修改網(wǎng)頁的接口。
渲染引擎引入了基于事件的機(jī)制來處理DOM對象。每個DOM對象具有相關(guān)聯(lián)的多個事件,并且這些事件可以被觸發(fā)。例如,渲染引擎分析網(wǎng)頁中的JS代碼,并且將相應(yīng)JS 代碼和事件相關(guān)聯(lián),從而使得到特定事件被觸發(fā)時,執(zhí)行相應(yīng)的JS代碼。
然而,在目前的網(wǎng)頁瀏覽器中,渲染引擎通常僅僅根據(jù)HTML網(wǎng)頁中的JS代碼來控制相應(yīng)DOM對象,因此,用戶使用瀏覽器時很難對DOM對象,即網(wǎng)頁中的各個元素進(jìn)行定制渲染。
文本框(textarea)是網(wǎng)頁中適合輸入大量文字的元素,目前很多網(wǎng)絡(luò)應(yīng)用提供商都利用textarea元素來為用戶提供輸入個人簡介、評論等接口。隨著用戶互動的增多, textarea的應(yīng)用也越來越廣泛?,F(xiàn)有的網(wǎng)頁瀏覽器在顯示文本區(qū)域輸入框(textarea)時, 在javascript代碼和css等控制下,可以規(guī)定textarea的列數(shù)和欄數(shù),textarea中輸入的文字大小、字體以及位置等信息。但是,在文本區(qū)域輸入框中的文字的顯示方式是一致的,難以為不同的文字規(guī)定不同的字體,也難以在文本框中輸入類似于表格、圖像以及音頻等多媒體信息。因此,目前需要對textarea的呈現(xiàn)和處理方式進(jìn)行改進(jìn),以便提供更豐富的輸入和呈現(xiàn)方式。發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的對頁面文本框進(jìn)行處理的瀏覽器和相應(yīng)的瀏覽器對頁面文本框進(jìn)行處理的方法。
依據(jù)本發(fā)明的一個方面,提供了一種對頁面文本框進(jìn)行處理的瀏覽器,包括至少一個文本框元素的DOM對象處理模塊,設(shè)置在瀏覽器側(cè),其中每個對象處理模塊配置為存儲有文本框元素的定制處理;轉(zhuǎn)換模塊,配置為在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象;定制處理模塊,配置為調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理;顯示模塊,配置為將定制處理結(jié)果顯示在獲取頁面中的文本框元素上。
可選地,定制處理模塊還配置為從轉(zhuǎn)換DOM對象中獲取文本框元素在瀏覽器頁面上的位置信息;根據(jù)位置信息,在文本框元素上生成重疊的塊級層;在塊級層上,調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理。
可選地,顯示模塊還配置為將定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的塊級層上。
可選地,塊級層包括div層時,顯示模塊還配置為獲取文本框元素經(jīng)定制處理后生成的內(nèi)容信息;對內(nèi)容信息進(jìn)行解碼,并將解碼后的內(nèi)容信息顯示在div層上。
可選地,上述瀏覽器還包括查詢模塊,配置為從對象處理注冊表中查詢?yōu)g覽器中是否存在對文本框元素進(jìn)行處理的DOM對象處理模塊,其中,對象處理注冊表中登記至少一個DOM對象處理模塊。
可選地,至少一個DOM對象處理模塊中存儲有規(guī)定對文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。
可選地,處理方式包括下列至少之一為文本框元素中不同的文字設(shè)置不同的字體;在文本框元素中輸入表格;在文本框元素中輸入圖像;在文本框元素中輸入多媒體信肩、O
可選地,多媒體信息包括音頻和/或視頻。
可選地,塊級層包括div層時,定制處理模塊還配置為調(diào)用文本框元素的 innerText屬性;調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊對innerText屬性進(jìn)行重定義;將文本框元素的重定義后的innerHTML屬性返回至div層。
可選地,重定義操作包括onblur或onSubmit的處理方式。
依據(jù)本發(fā)明的另一個方面,提供了一種瀏覽器處理頁面文本框元素的方法,在瀏覽器側(cè)設(shè)置至少一個文本框元素的DOM對象處理器,其中每個對象處理器存儲有文本框元素的定制處理,該方法包括在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象;調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理;將定制處理結(jié)果顯示在獲取頁面中的文本框元素上。
可選地,調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理,包括從轉(zhuǎn)換DOM對象中獲取文本框元素在瀏覽器頁面上的位置信息;根據(jù)位置信息,在文本框元素上生成重疊的塊級層;在塊級層上,調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理。
可選地,將定制處理結(jié)果顯示在獲取頁面中的文本框元素上,包括將定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的塊級層上。
可選地,塊級層包括div層時,將定制處理結(jié)果顯示在獲取頁面中的文本框元素上,包括獲取文本框元素經(jīng)定制處理后生成的內(nèi)容信息;對內(nèi)容信息進(jìn)行解碼,并將解碼后的內(nèi)容信息顯示在div層上。
可選地,調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理之前,包括從對象處理注冊表中查詢?yōu)g覽器中是否存在對文本框元素進(jìn)行處理的DOM對象處理器,其中,對象處理注冊表中登記至少一個DOM對象處理器。
可選地,至少一個DOM對象處理器中存儲有規(guī)定對文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。
可選地,處理方式包括下列至少之一為文本框元素中不同的文字設(shè)置不同的字體;在文本框元素中輸入表格;在文本框元素中輸入圖像;在文本框元素中輸入多媒體信肩、O
可選地,多媒體信息包括音頻和/或視頻。
可選地,塊級層包括div層時,調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理,包括調(diào)用文本框元素的innerText屬性;調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器對innerText屬性進(jìn)行重定義;將文本框元素的重定義后的innerHTML屬性返回至div層。
可選地,重定義操作包括onblur或onSubmit的處理方式。
可選地,瀏覽器為IE瀏覽器時,瀏覽器所在的客戶端在WebBiOwser插件設(shè)置第一接口 IElementBehaviorFactory、第二接口 IElementBehavior 以及第三接口 IDocHostHHandler,其中,第一接口和第二接口用于調(diào)用各DOM對象處理器,第三接口用于將各DOM對象處理器注冊到對象處理注冊表中;調(diào)用設(shè)置的至少一個文本框元素的DOM 對象處理器,包括內(nèi)核引擎根據(jù)瀏覽器所在的客戶端提供的行為名稱BehaviorName,通過第二接口調(diào)用與第一接口連接的設(shè)置的至少一個文本框元素的DOM對象處理器;以及內(nèi)核引擎根據(jù)客戶端提供的頁面元素標(biāo)識TAG加載對應(yīng)的頁面元素時,調(diào)用元素行為通知方法,通知客戶端頁面元素的加載狀態(tài)。
可選地,內(nèi)核引擎調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器,包括內(nèi)核引擎與獲取頁面提供的第四接口 IElementBehaviorSite關(guān)聯(lián),通過第四接口確定文本框元素已有定制處理時,調(diào)用對應(yīng)的DOM對象處理器。
在本發(fā)明實施例中,對于文本框元素解析出的每個DOM對象,在網(wǎng)絡(luò)側(cè)設(shè)置對其進(jìn)行定制處理的DOM對象處理模塊,在頁面的獲取過程中,利用調(diào)用的DOM對象處理模塊對 DOM對象進(jìn)行設(shè)置的定制處理。由于至少一個DOM對象處理模塊可以存儲至少一種定制處理方式,因此,可以對文本框元素進(jìn)行至少一種處理,進(jìn)而可以調(diào)整文本框元素中不同元素呈現(xiàn)不同狀態(tài)。由此可見,采用本發(fā)明實施例提供的對頁面文本框進(jìn)行處理的瀏覽器,能夠?qū)ξ谋究蛟刂械牟煌珼OM對象分別進(jìn)行處理,由此呈現(xiàn)的文本框元素可以實現(xiàn)個性化定制處理,例如,可以為不同的文字規(guī)定不同的字體,呈現(xiàn)不同的顏色,再例如,在文本框元素中輸入類似于表格、圖像以及音視頻等多媒體信息。保證了文本框元素并非是根據(jù)網(wǎng)絡(luò)應(yīng)用和信息提供商所要求的固定方式,進(jìn)而實現(xiàn)了用戶能夠?qū)ξ谋究蛟爻尸F(xiàn)的內(nèi)容進(jìn)行個性化定制的目的,滿足不同的用戶的偏好,提高用戶的感受體驗。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中
圖I示出了根據(jù)本發(fā)明一個實施例的對頁面文本框進(jìn)行處理的瀏覽器的結(jié)構(gòu)示意圖2示出了根據(jù)本發(fā)明一個實施例的瀏覽器處理頁面文本框元素的方法的處理流程圖3示出了根據(jù)本發(fā)明一個實施例的在塊級層上進(jìn)行定制處理的處理流程圖;以及
圖4示出了根據(jù)本發(fā)明一個實施例的對頁面文本框進(jìn)行處理的瀏覽器的結(jié)構(gòu)示意圖。
具體實施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
相關(guān)技術(shù)中提及,在文本區(qū)域輸入框中的文字的顯示方式是一致的,難以為不同的文字規(guī)定不同的字體,也難以在文本框中輸入類似于表格、圖像以及音頻等多媒體信息。 因此,目前需要對textarea的呈現(xiàn)和處理方式進(jìn)行改進(jìn),以便提供更豐富的輸入和呈現(xiàn)方式。
由于文本框元素是呈現(xiàn)在瀏覽器中,因此,本發(fā)明實施例提供了一種能夠?qū)撁嫖谋究蜻M(jìn)行處理的瀏覽器,利用該瀏覽器對文本框元素的呈現(xiàn)和處理方式進(jìn)行改進(jìn)。在本例中,改變對文本框元素的處理方式,為文本框元素提供DOM對象處理模塊,每個對象處理模塊中存儲有其對應(yīng)的文本框元素的定制處理。實施時,可以不同的定制處理方式對文本框元素進(jìn)行處理,實現(xiàn)文本框元素豐富的輸入和呈現(xiàn)方式。
圖I示出了根據(jù)本發(fā)明一個實施例的對頁面文本框進(jìn)行處理的瀏覽器的結(jié)構(gòu)示意圖。該瀏覽器包括至少一個文本框元素的DOM對象處理模塊110、轉(zhuǎn)換模塊120、定制處理模塊130以及顯示模塊140。
其中,DOM對象處理模塊110包括至少一個,且預(yù)先設(shè)置在瀏覽器側(cè),在每個DOM對象處理模塊Iio中存儲有文本框元素的定制處理。DOM對象處理模塊的數(shù)量可以是I個,也可以是2個,也可以是3個、4個、5個或更多,具體的數(shù)量根據(jù)特定DOM對象的數(shù)量以及定制處理的數(shù)量決定。圖I中為了示意,將其設(shè)置為3個。
在對獲取的一個頁面進(jìn)行處理時,轉(zhuǎn)換模塊120首先在瀏覽器側(cè)加載獲取頁面。 考慮到頁面以及頁面元素并不能夠直接進(jìn)行處理,因此,轉(zhuǎn)換模塊120對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象,以供后續(xù)的定制處理模塊130進(jìn)行處理。
參見圖1,定制處理模塊130耦接到轉(zhuǎn)換模塊120和在瀏覽器預(yù)設(shè)置的至少一個文本框元素的DOM對象處理模塊110。當(dāng)對文本框元素的解析及轉(zhuǎn)換操作結(jié)束后,轉(zhuǎn)換模塊 120會調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊130對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理。
其中,顯示模塊140稱接到定制處理模塊130。在定制處理模塊130的定制處理操作結(jié)束后,顯示模塊140將定制處理結(jié)果顯示在獲取頁面中的文本框元素上。
在本發(fā)明實施例中,對于文本框元素解析出的每個DOM對象,在網(wǎng)絡(luò)側(cè)設(shè)置對其進(jìn)行定制處理的DOM對象處理模塊,在頁面的獲取過程中,利用調(diào)用的DOM對象處理模塊對 DOM對象進(jìn)行設(shè)置的定制處理。由于至少一個DOM對象處理模塊可以存儲至少一種定制處理方式,因此,可以對文本框元素進(jìn)行至少一種處理,進(jìn)而可以調(diào)整文本框元素中不同元素呈現(xiàn)不同狀態(tài)。由此可見,采用本發(fā)明實施例提供的對頁面文本框進(jìn)行處理的瀏覽器,能夠?qū)ξ谋究蛟刂械牟煌珼OM對象分別進(jìn)行處理,由此呈現(xiàn)的文本框元素可以實現(xiàn)個性化定制處理,例如,可以為不同的文字規(guī)定不同的字體,呈現(xiàn)不同的顏色,再例如,在文本框元素中輸入類似于表格、圖像以及音視頻等多媒體信息。保證了文本框元素并非是根據(jù)網(wǎng)絡(luò)應(yīng)用和信息提供商所要求的固定方式,進(jìn)而實現(xiàn)了用戶能夠?qū)ξ谋究蛟爻尸F(xiàn)的內(nèi)容進(jìn)行個性化定制的目的,滿足不同的用戶的偏好,提高用戶的感受體驗。
上文提及,定制處理模塊130能夠調(diào)用至少一個文本框元素的DOM對象處理模塊 110。優(yōu)選的,定制處理模塊130首先從轉(zhuǎn)換的DOM對象中獲取文本框元素在瀏覽器頁面上的位置信息。進(jìn)一步,定制處理模塊130能夠根據(jù)獲取的位置信息,在文本框元素上生成重疊的塊級層。隨后,在重疊的塊級層上,定制處理模塊130調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊110對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理。設(shè)置重疊的塊級層后,對文本框元素的定制處理均在該塊級層上執(zhí)行,而并非在文本框元素自身上執(zhí)行,既保護(hù)了文本框元素自身的原始性和真實性,又能夠?qū)ξ谋究蛟剡M(jìn)行相應(yīng)處理,使其呈現(xiàn)效果能夠滿足用戶的個性化定制。
定制處理模塊130在重疊的塊級層上對文本框元素進(jìn)行定制處理時,顯示模塊 140可以將定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的塊級層上。
優(yōu)選的,本發(fā)明實施例提供的塊級層包括div層時,顯示模塊140從定制處理模塊130中獲取文本框元素經(jīng)定制處理后生成的內(nèi)容信息,并對內(nèi)容信息進(jìn)行解碼,將解碼后的內(nèi)容信息顯示在div層上。
其中,對于DOM對象處理模塊110的調(diào)用操作,定制處理模塊130需要知道每個 DOM對象處理模塊110的地址,進(jìn)而進(jìn)行相應(yīng)的調(diào)用,若DOM對象處理模塊較多且存儲地址相對分散的情況下,定制處理模塊130的調(diào)用就會存在一定的難度?,F(xiàn)提供一種優(yōu)選的調(diào)用方式,本例中,設(shè)置對象處理注冊表,在該表格中登記所有的DOM對象處理模塊的登記信息,此處的登記信息可以包括各DOM對象處理模塊的存儲地址、每個DOM對象處理模塊的定制操作、是否正在被調(diào)用等等。相應(yīng)的,參見圖1,本發(fā)明實施例提供的對頁面文本框進(jìn)行處理的瀏覽器還包括查詢模塊160。該查詢模塊160與定制處理模塊130耦合,從對象處理注冊表中查詢?yōu)g覽器中是否存在對文本框元素進(jìn)行處理的DOM對象處理模塊。查詢結(jié)束后,查詢模塊160將查詢結(jié)果通知定制處理模塊130,而定制處理模塊130會根據(jù)查詢結(jié)果調(diào)用相應(yīng)的DOM對象處理模塊110。
對于每個DOM對象,都存在有至少兩個事件,一個是該DOM對象已經(jīng)加載完成時觸發(fā)的事件ContentReady,另一個是整個HTML都已經(jīng)加載完成時觸發(fā)的事件 DocumentReady。由于本發(fā)明實施例僅僅是對文本框元素進(jìn)行處理,因此僅僅涉及該DOM對象已經(jīng)加載完成時觸發(fā)的事件ContentReady。優(yōu)選的,本發(fā)明實施例提供的至少一個DOM 對象處理模塊中存儲有規(guī)定對文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。
每個DOM對象處理模塊中存儲有對文本框元素的不同定制處理方式,此處存儲的處理方式可以是能夠?qū)ξ谋究蛟剡M(jìn)行處理的任意處理方式,例如,該處理方式可以是字體方面的,也可以是圖像方面的等等。優(yōu)選的,該處理方式可以是為文本框元素中不同的文字設(shè)置不同的字體、顏色、陰影、文本塊等,還可以在文本框元素中輸入表格,還可以在文本框元素中輸入圖像,還可以在文本框元素中輸入多媒體信息。其中,多媒體信息包括音頻和 /或視頻。本例中提供的處理方式可以單一使用,也可以以其中多項組合使用。且本例中提供的處理方式是一種例舉,并不限于本例提供的處理試,能夠?qū)崿F(xiàn)對文本框元素進(jìn)行的處理方式均可。
現(xiàn)以一個具體實施例對設(shè)置的重疊的塊級層包括div層時的情況進(jìn)行詳細(xì)闡述和說明。
對于textarea,在網(wǎng)頁瀏覽器的渲染引擎中包括針對t extarea的特定處理器 (即DOM對象處理模塊),該特定處理器中至少規(guī)定了對DOM對象已經(jīng)加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方法。
實施時,首先由定制處理模塊130獲取textarea的位置信息。然后,定制處理模塊130在textarea的區(qū)域上重疊一個div層,設(shè)置div層的各種屬性,由于div層疊加在textarea上,因此,div層事先接收交互事件,并進(jìn)行處理。進(jìn)一步,顯示模塊140獲取 textarea中的內(nèi)容,對textarea的內(nèi)容進(jìn)行解碼,并將其顯示在div層上。
優(yōu)選的,定制處理模塊130調(diào)用文本框元素的innerText屬性,調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊110對innerText屬性進(jìn)行重定義,將文本框元素的重定義后的innerHTML屬性返回至div層。其中,本例中的重定義操作包括onblur或 onSubmit的處理方式。
上述的對頁面文本框進(jìn)行處理的瀏覽器的各部分構(gòu)架是根據(jù)其功能提供的,實際構(gòu)架并不僅限于上述各部分,還可以包括其他部分、模塊、器件等。
圖2示出了根據(jù)本發(fā)明一個實施例的瀏覽器處理頁面文本框元素的方法的處理流程圖。本例中,在瀏覽器側(cè)設(shè)置至少一個文本框元素的DOM對象處理器,其中每個對象處理器存儲有文本框元素的定制處理。該方法包括步驟S202至步驟S206。
步驟S202、在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象。
步驟S204、調(diào)用瀏覽器側(cè)預(yù)設(shè)置的至少一個文本框元素的DOM對象處理器,對步驟S202轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理。
步驟S206、將步驟S204的定制處理結(jié)果顯示在獲取頁面中的文本框元素上。
在本發(fā)明實施例中,對于文本框元素解析出的每個DOM對象,在網(wǎng)絡(luò)側(cè)設(shè)置對其進(jìn)行定制處理的DOM對象處理器,在頁面的獲取過程中,利用調(diào)用的DOM對象處理器對DOM 對象進(jìn)行設(shè)置的定制處理。由于至少一個DOM對象處理器可以存儲至少一種定制處理方式,因此,可以對文本框元素進(jìn)行至少一種處理,進(jìn)而可以調(diào)整文本框元素中不同元素呈現(xiàn)不同狀態(tài)。由此可見,采用本發(fā)明實施例提供的瀏覽器對頁面文本框進(jìn)行處理的方法,能夠?qū)ξ谋究蛟刂械牟煌珼OM對象分別進(jìn)行處理,由此呈現(xiàn)的文本框元素可以實現(xiàn)個性化定制處理,例如,可以為不同的文字規(guī)定不同的字體,呈現(xiàn)不同的顏色,再例如,在文本框元素中輸入類似于表格、圖像以及音視頻等多媒體信息。保證了文本框元素并非是根據(jù)網(wǎng)絡(luò)應(yīng)用和信息提供商所要求的固定方式,進(jìn)而實現(xiàn)了用戶能夠?qū)ξ谋究蛟爻尸F(xiàn)的內(nèi)容進(jìn)行個性化定制的目的,滿足不同的用戶的偏好,提高用戶的感受體驗。
本流程中的DOM對象處理器與前文所提及的DOM對象處理模塊的功能是相類似的,因前文涉及瀏覽器的架構(gòu),因此將其稱為DOM對象處理模塊。而本流程中僅涉及DOM對象處理器一個部件,因此,無須將其稱之為模塊,后文不再贅述。
參見圖2,步驟S204在實施時提及調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理器對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理。一種優(yōu)選的實施例是在文本框元素上設(shè)置重疊的塊級層,在塊級層上進(jìn)行相應(yīng)處理。圖3示出了根據(jù)本發(fā)明一個實施例的在塊級層上進(jìn)行定制處理的處理流程圖。該處理流程包括步驟S302至步驟 S306。
步驟S302、從轉(zhuǎn)換DOM中獲取文本框元素在瀏覽器頁面上的位置信息。
步驟S304、根據(jù)步驟S302獲取的位置信息,在文本框元素上生成重疊的塊級層。
步驟S306、在步驟S304生成的塊級層上,調(diào)用設(shè)置的至少一個文本框元素的DOM 對象處理器對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理。
在塊級層上進(jìn)行定制處理后,相應(yīng)的,必然可以將定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的塊級層上。
塊級層可以是能夠設(shè)置在文本框元素上的、且可以實現(xiàn)對文本框元素進(jìn)行處理的任意層。當(dāng)塊級層為div層時,為將定制處理結(jié)果顯示在獲取頁面中的文本框元素上,首先獲取文本框元素經(jīng)定制處理后生成的內(nèi)容信息。在內(nèi)容信息獲取結(jié)束后,對內(nèi)容信息進(jìn)行解碼,并將解碼后的內(nèi)容信息顯示在div層上。
其中,對于DOM對象處理器的調(diào)用操作,需要知道每個DOM對象處理器的地址,進(jìn)11而進(jìn)行相應(yīng)的調(diào)用,若DOM對象處理器較多且存儲地址相對分散的情況下,其調(diào)用就會存在一定的難度?,F(xiàn)提供一種優(yōu)選的調(diào)用方式,本例中,設(shè)置對象處理注冊表,在該表格中登記所有的DOM對象處理器的登記信息,此處的登記信息可以包括各DOM對象處理器的存儲地址、每個DOM對象處理器的定制操作、是否正在被調(diào)用等等。相應(yīng)的,在執(zhí)行步驟S204的調(diào)用操作之前可以從對象處理注冊表中查詢?yōu)g覽器中是否存在對文本框元素進(jìn)行處理的 DOM對象處理器,進(jìn)而根據(jù)查詢結(jié)果進(jìn)行調(diào)用。
對于每個DOM對象,都存在有至少兩個事件,一個是該DOM對象已經(jīng)加載完成時觸發(fā)的事件ContentReady,另一個是整個HTML都已經(jīng)加載完成時觸發(fā)的事件 DocumentReady。由于本發(fā)明實施例僅僅是對文本框元素進(jìn)行處理,因此僅僅涉及該DOM對象已經(jīng)加載完成時觸發(fā)的事件ContentReady。優(yōu)選的,本發(fā)明實施例提供的至少一個DOM 對象處理器中存儲有規(guī)定對文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。
每個DOM對象處理器中存儲有對文本框元素的不同定制處理方式,此處存儲的處理方式可以是能夠?qū)ξ谋究蛟剡M(jìn)行處理的任意處理方式,例如,該處理方式可以是字體方面的,也可以是圖像方面的等等。優(yōu)選的,該處理方式可以是為文本框元素中不同的文字設(shè)置不同的字體、顏色、陰影、文本塊等,還可以在文本框元素中輸入表格,還可以在文本框元素中輸入圖像,還可以在文本框元素中輸入多媒體信息。其中,多媒體信息包括音頻和/ 或視頻。本例中提供的處理方式可以單一使用,也可以以其中多項組合使用。且本例中提供的處理方式是一種例舉,并不限于本例提供的處理試,能夠?qū)崿F(xiàn)對文本框元素進(jìn)行的處理方式均可。
優(yōu)選的,步驟S204中涉及的調(diào)用操作具體包括調(diào)用文本框元素的innerText屬性,調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊110對innerText屬性進(jìn)行重定義,將文本框元素的重定義后的innerHTML屬性返回至div層。其中,本例中的重定義操作包括onblur或onSubmit的處理方式。
實施例一
本發(fā)明實施例中提及到的瀏覽器可以為多種,例如微軟公司的Internet Explorer (簡稱 IE)、Mozilla Firefox、谷歌公司的 Chrome、0pera 以及蘋果公司的 Safari坐坐寸寸ο
現(xiàn)以IE瀏覽器為例對本發(fā)明實施例提供的文本框元素的具體處理方法進(jìn)行詳細(xì)地闡述和說明。
對于針對每個網(wǎng)頁元素的特定處理,可能需要實現(xiàn)
IElementBehavior (兀素行為)
Implementing the IElementBehavior Interface (執(zhí)行兀素行為接口)
Implementing the Notify Method (執(zhí)行通知方法)
Implementing the Init Method (執(zhí)行初始化方法)
Implementing the Detach Method (執(zhí)行分離方法)
IElementBehaviorFactory (兀素行為工廠行為)
IElementNamespaceFactory (兀素命名空間工廠接口)
IElementNamespaceFactoryCallback (兀素命名空間回調(diào)接口)
初始化設(shè)置后,IE瀏覽器中的客戶端WebBiOwser (網(wǎng)絡(luò)瀏覽器)插件實現(xiàn)網(wǎng)頁元素的具體處理步驟如下
步驟I、客戶端 WebBrowser 插件實現(xiàn) IElementBehaviorFactory 接口和 IElementBehavior 接 P。
步驟2、客戶端 WebBrowser 插件實現(xiàn) IDocHostUIHandler 接口。
注這里的WebBrowser插件就是在針對特定DOM對象的特定處理器在IE中的具體實施方式
,實現(xiàn)IDocHostUIHandler接口用于把特定處理器注冊到對象注冊表中由DOM 處理器米用,實現(xiàn)IElementBehaviorFactory和IElementBehavior接口用于說明具體的定制處理實現(xiàn)。
步驟3、頁面創(chuàng)建時,MSHTML 會調(diào)用 IDocHostUIHandler 的 GetHostInfo 方法,客戶端程序向MSHTML提供頁面元素TAG及對應(yīng)的Behavior Name
注MSHTML對應(yīng)于內(nèi)核引擎,這個步驟對應(yīng)于DOM處理器查詢所有的DOM對象處理器列表。
步驟4、頁面加載時,MSHTML會根據(jù)以上提供的Behavior Name,逐個調(diào)用 IElementBehaviorFactory 的 FindBehavior 方法,由客戶端提供 IElementBehavior 接口實 現(xiàn)。
此處,優(yōu)選的,并與頁面提供的對應(yīng)接口 IElementBehaviorSite關(guān)聯(lián),以確定是否定制行為。
步驟5、若客戶端提供了 IElementBehavior實現(xiàn),MSHTML在加載對應(yīng)TAG的頁面元素時,調(diào)用元素行為通知方法,通知客戶端頁面元素的加載狀態(tài)。
注元素行為通知方法在IE中實現(xiàn)可利用IElementBehavior :Notify。
其中,值得注意的是,步驟4和步驟5對應(yīng)于定制處理模塊調(diào)用相應(yīng)的DOM對象處理器對DOM對象進(jìn)行處理。
本實施例的方法并不僅限IE瀏覽器,對于其他瀏覽器,其實現(xiàn)方式是相類似的。
實施例二
對于textarea (文本框)頁面單元,為用戶提供了在網(wǎng)頁中輸入大量文字的輸入框,但是在當(dāng)前的網(wǎng)頁呈現(xiàn)方式下,用戶僅僅可以textarea中輸入簡單的文字,而無法輸入預(yù)訂格式的文字、圖像等內(nèi)容。而通過在瀏覽器處提供對textarea的定制渲染,可以使得在textarea中輸入更加豐富的內(nèi)容。
本例中對于文本框元素的具體操作提供相應(yīng)的說明。
I、首先,進(jìn)行事件定義,在IDocHostUIHandler的GetHostInfo方法中,對瀏覽器的結(jié)構(gòu)和標(biāo)識進(jìn)行自定義。在文本框元素上設(shè)置一個div層,利用pCSSBuffer指針調(diào)度, 將涉及文本框元素的操作均牽引在div層上執(zhí)行。
2> IElementBehaviorFactory 的 FindBehavior 方法中,返回 IElementBehavior 的實現(xiàn)對象 CTextAreaElementBehavior,并保存 MSHTML 提供的 IElementBehaviorSite 對象指針。
3、MSHTML 調(diào)用文本框兀素行為通知(CTextAreaElementBehavior Notify)方法時,對涉及文本框元素的操作進(jìn)行實施。
在加載對應(yīng)TAG的文本框元素時,調(diào)用元素行為通知方法,通知客戶端文本框元素的加載狀態(tài)。在div層對文本框元素中的內(nèi)容進(jìn)行處理,該處理涉及調(diào)整文本框元素內(nèi)容的寬度、高度、播放效果等。頁面提交TEXAREA的內(nèi)容時,會調(diào)用textArea的innerText屬性,重定義該屬性,返回編碼過的div的innerHTML。在div層處理結(jié)束后,將文本框元素的內(nèi)容和div層的處理效果重疊,將重疊后的效果呈現(xiàn)給用戶。使用本發(fā)明實施例能夠?qū)崿F(xiàn)利用瀏覽器進(jìn)行文本框元素進(jìn)行處理的方法,實現(xiàn)用戶的個性化定制,提高用戶的感受體驗。實施例三上文描述的是直接對文本框元素進(jìn)行處理,眾所周知,瀏覽器的頁面元素有多種,瀏覽器需要對每個頁面元素均進(jìn)行轉(zhuǎn)換及處理,然后將處理后的頁面元素進(jìn)行渲染,才生成呈現(xiàn)的網(wǎng)頁。圖2示出了根據(jù)本發(fā)明一個實施例的進(jìn)行頁面元素處理的瀏覽器的結(jié)構(gòu)示意圖。參見圖4,該瀏覽器包括設(shè)置在瀏覽器側(cè)的至少一個DOM對象處理器410,頁面解析器420以及DOM處理器430。其中,DOM對象處理器410包括至少一個,且預(yù)先設(shè)置在瀏覽器側(cè),在每個DOM對象處理器410中存儲有特定DOM對象的定制處理。DOM對象處理器的數(shù)量可以是I個,也可以是2個,也可以是3個、4個、5個或更多,具體的數(shù)量根據(jù)特定DOM對象的數(shù)量以及定制處理的數(shù)量決定。圖4中為了示意,將其設(shè)置為3個。在對獲取的一個頁面進(jìn)行處理時,頁面解析器420在瀏覽器側(cè)加載該獲取頁面,并對獲取頁面的頁面元素進(jìn)行解析??紤]到頁面以及頁面元素并不能夠直接進(jìn)行處理,因此,頁面解析器420在解析過程中將各頁面元素轉(zhuǎn)換為DOM對象,以供后續(xù)DOM處理器430處理。參見圖4,D0M處理器430,耦接到頁面解析器420和至少一個DOM對象處理器410。當(dāng)頁面解析器420解析結(jié)束后,啟動DOM處理器430。DOM處理器430在轉(zhuǎn)換的DOM對象中選擇至少一個作為當(dāng)前準(zhǔn)備處理的DOM對象,調(diào)用設(shè)置的至少一個DOM對象處理器410,對選擇出的DOM對象進(jìn)行設(shè)置的定制處理。參見圖4,該瀏覽器還包括樹生成器440,耦接到DOM處理器430。當(dāng)DOM處理器430調(diào)用DOM對象處理器410,對DOM對象進(jìn)行定制處理結(jié)束后,樹生成器440利用經(jīng)過設(shè)置的定制處理的DOM對象生成最終的DOM樹,并對DOM樹進(jìn)行渲染。而文本框元素是頁面元素的一種,因此,當(dāng)頁面元素為文本框元素時,利用瀏覽器進(jìn)行頁面元素處理的裝置可以直接對文本框元素進(jìn)行處理,其選擇的DOM對象處理器存儲的定制處理方式是針對文本框元素的定制處理即可。也就是說,本例中,參見圖4,其選擇的DOM對象處理器410應(yīng)該是文本框元素的DOM對象處理器410。其他各部件的功能維持不變。本例中,頁面解析器420與在前的實施例中的轉(zhuǎn)換模塊120的功能相類似,均是將相應(yīng)的元素轉(zhuǎn)換為DOM對象。而DOM處理器430與在前的實施例中的定制處理模塊130的功能相類似,調(diào)用相應(yīng)的DOM對象處理模塊(或DOM對象處理器),對當(dāng)前DOM對象進(jìn)行相應(yīng)處理。
采用本發(fā)明提供的瀏覽器和相應(yīng)的處理方法,能夠達(dá)到如下有益效果在本發(fā)明實施例中,對于文本框元素解析出的每個DOM對象,在網(wǎng)絡(luò)側(cè)設(shè)置對其進(jìn)行定制處理的DOM對象處理模塊,在頁面的獲取過程中,利用調(diào)用的DOM對象處理模塊對DOM對象進(jìn)行設(shè)置的定制處理。由于至少一個DOM對象處理模塊可以存儲至少一種定制處理方式,因此,可以對文本框元素進(jìn)行至少一種處理,進(jìn)而可以調(diào)整文本框元素中不同元素呈現(xiàn)不同狀態(tài)。由此可見,采用本發(fā)明實施例提供的對頁面文本框進(jìn)行處理的瀏覽器,能夠?qū)ξ谋究蛟刂械牟煌珼OM對象分別進(jìn)行處理,由此呈現(xiàn)的文本框元素可以實現(xiàn)個性化定制處理,例如,可以為不同的文字規(guī)定不同的字體,呈現(xiàn)不同的顏色,再例如,在文本框元素中輸入類似于表格、圖像以及音視頻等多媒體信息。本發(fā)明實施例為傳統(tǒng)的textarea提供了改進(jìn)的呈現(xiàn)和處理方式,增加了頁面的交互性能,保證了文本框元素并非是根據(jù)網(wǎng)絡(luò)應(yīng)用和信息提供商所要求的固定方式,進(jìn)而實現(xiàn)了用戶能夠?qū)ξ谋究蛟爻尸F(xiàn)的內(nèi)容進(jìn)行個性化定制的目的,滿足不同的用戶的偏好,提高用戶的感受體驗。在此提供的算法和顯示不與任何特定計算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權(quán)利要求書由此明確地并入該具體實施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的瀏覽器中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。本文公開了 Al、一種對頁面文本框進(jìn)行處理的瀏覽器,包括至少一個文本框元素的DOM對象處理模塊,設(shè)置在瀏覽器側(cè),其中每個對象處理模塊配置為存儲有文本框元素的定制處理;轉(zhuǎn)換模塊,配置為在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象;定制處理模塊,配置為調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理模塊對所述轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行所述設(shè)置的定制處理;顯示模塊,配置為將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上。A2、根據(jù)Al所述的瀏覽器,其特征在于,所述定制處理模塊還配置為從所述的轉(zhuǎn)換DOM對象中獲取文本框元素在瀏覽器頁面上的位置信息;根據(jù)所述位置信息,在所述文本框元素上生成重疊的塊級層;在所述塊級層上,調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理模塊對所述轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行所述設(shè)置的定制處理。A3、根據(jù)A2所述的瀏覽器,其特征在于,所述顯示模塊還配置為將所述定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的所述塊級層上。A4、根據(jù)A2或A3所述的瀏覽器,其特征在于,所述塊級層包括div層時,所述顯示模塊還配置為獲取所述文本框元素經(jīng)定制處理后生成的內(nèi)容信息;對所述內(nèi)容信息進(jìn)行解碼,并將解碼后的內(nèi)容信息顯示在div層上。A5、根據(jù)Al至A4任一項所述的瀏覽器,其特征在于,還包括查詢模塊,配置為從對象處理注冊表中查詢所述瀏覽器中是否存在對所述文本框元素進(jìn)行處理的DOM對象處理模塊,其中,所述對象處理注冊表中登記所述至少一個DOM對象處理模塊。A6、根據(jù)Al至A5任一項所述的瀏覽器,其特征在于,所述至少一個DOM對象處理模塊中存儲有規(guī)定對所述文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。A7、根據(jù)A6所述的瀏覽器,其特征在于,所述處理方式包括下列至少之一為所述文本框元素中不同的文字設(shè)置不同的字體;在所述文本框元素中輸入表格;在所述文本框元素中輸入圖像;在所述文本框元素中輸入多媒體信息。AS、根據(jù)A7所述的瀏覽器,其特征在于,所述多媒體信息包括音頻和/或視頻。A9、根據(jù)Al至AS任一項所述的瀏覽器,其特征在于,所述塊級層包括div層時,所述定制處理模塊還配置為調(diào)用所述文本框元素的innerText屬性;調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理模塊對所述innerText屬性進(jìn)行重定義;將所述文本框元素的重定義后的innerHTML屬性返回至所述div層。A10、根據(jù)A9所述的瀏覽器,其特征在于,所述重定義操作包括onblur或onSubmit的處理方式。本文公開了 B11、一種瀏覽器處理頁面文本框元素的方法,在瀏覽器側(cè)設(shè)置至少一個文本框元素的DOM對象處理器,其中每個對象處理器存儲有文本框元素的定制處理,該方法包括在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象;調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行所述設(shè)置的定制處理;將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上。B12、根據(jù)Bll所述的方法,其特征在于,調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行所述設(shè)置的定制處理,包括從所述的轉(zhuǎn)換DOM中獲取文本框元素在瀏覽器頁面上的位置信息;根據(jù)所述位置信息,在所述文本框元素上生成重疊的塊級層;在所述塊級層上,調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行所述設(shè)置的定制處理。B13、根據(jù)Bll所述的方法,其特征在于,將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上,包括將所述定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的所述塊級層上。B14、根據(jù)B12或B13所述的方法,其特征在于,所述塊級層包括div層時,將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上,包括獲取所述文本框元素經(jīng)定制處理后生成的內(nèi)容信息;對所述內(nèi)容信息進(jìn)行解碼,并將解碼后的內(nèi)容信息顯示在div層上。B15、根據(jù)Bll至B14任一項所述的方法,其特征在于,調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行所述設(shè)置的定制處理之前,包括從對象處理注冊表中查詢所述瀏覽器中是否存在對所述文本框元素進(jìn)行處理的DOM對象處理器,其中,所述對象處理注冊表中登記所述至少一個DOM對象處理器。B16、根據(jù)Bll至B15任一項所述的方法,其特征在于,所述至少一個DOM對象處理器中存儲有規(guī)定對所述文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。B17、根據(jù)B16所述的方法,其特征在于,所述處理方式包括下列至少之一為所述文本框元素中不同的文字設(shè)置不同的字體;在所述文本框元素中輸入表格;在所述文本框元素中輸入圖像;在所述文本框元素中輸入多媒體信息。B18、根據(jù)B17所述的方法,其特征在于,所述多媒體信息包括音頻和/或視頻。B19、根據(jù)B17至B18任一項所述的方法,其特征在于,所述塊級層包括div層時,調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行所述設(shè)置的定制處理,包括調(diào)用所述文本框元素的innerText屬性;調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器對所述innerText屬性進(jìn)行重定義;將所述文本框元素的重定義后的innerHTML屬性返回至所述div層。B20、根據(jù)B19所述的方法,其特征在于,所述重定義操作包括onblur或onSubmit的處理方式。B21、根據(jù)Bll至B20任一項所述的方法,其特征在于,所述瀏覽器為IE瀏覽器時,所述瀏覽器所在的客戶端在WebBrowser 插件設(shè)置第一接口 IElementBehaviorFactory、第二接口 IElementBehavior 以及第三接口 IDocHostMHandler,其中,所述第一接口和所述第二接口用于調(diào)用各DOM對象處理器,所述第三接口用于將各DOM對象處理器注冊到所述對象處理注冊表中;調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器,包括內(nèi)核引擎根據(jù)所述瀏覽器所在的客戶端提供的行為名稱BehaviorName,通過所述第二接口調(diào)用與所述第一接口連接的所述設(shè)置的至少一個文本框元素的DOM對象處理器;以及所述內(nèi)核引擎根據(jù)所述客戶端提供的頁面元素標(biāo)識TAG加載對應(yīng)的頁面元素時,調(diào)用元素行為通知方法,通知所述客戶端頁面元素的加載狀態(tài)。B22、根據(jù)B21所述的方法,其特征在于,所述內(nèi)核引擎調(diào)用所述設(shè)置的至少一個文本框元素的DOM對象處理器,包括所述內(nèi)核引擎與所述獲取頁面提供的第四接口IElementBehaviorSite關(guān)聯(lián),通過所述第四接口確定所述文本框元素已有定制處理時,調(diào)用對應(yīng)的DOM對象處理器。
權(quán)利要求
1.一種對頁面文本框進(jìn)行處理的瀏覽器,包括 至少ー個文本框元素的DOM對象處理模塊,設(shè)置在瀏覽器側(cè),其中每個對象處理模塊配置為存儲有文本框元素的定制處理; 轉(zhuǎn)換模塊,配置為在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象; 定制處理模塊,配置為調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理模塊對所述轉(zhuǎn)換的DOM對象中的至少ー個文本框元素進(jìn)行所述設(shè)置的定制處理; 顯示模塊,配置為將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上。
2.根據(jù)權(quán)利要求I所述的瀏覽器,其特征在于,所述定制處理模塊還配置為從所述的轉(zhuǎn)換DOM對象中獲取文本框元素在瀏覽器頁面上的位置信息;根據(jù)所述位置信息,在所述文本框元素上生成重疊的塊級層;在所述塊級層上,調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理模塊對所述轉(zhuǎn)換的DOM對象中的至少ー個文本框元素進(jìn)行所述設(shè)置的定制處理。
3.根據(jù)權(quán)利要求2所述的瀏覽器,其特征在干,所述顯示模塊還配置為將所述定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的所述塊級層上。
4.根據(jù)權(quán)利要求2或3所述的瀏覽器,其特征在于,所述塊級層包括div層時,所述顯示模塊還配置為獲取所述文本框元素經(jīng)定制處理后生成的內(nèi)容信息;對所述內(nèi)容信息進(jìn)行解碼,并將解碼后的內(nèi)容信息顯示在div層上。
5.根據(jù)權(quán)利要求I至4任一項所述的瀏覽器,其特征在于,還包括 查詢模塊,配置為從對象處理注冊表中查詢所述瀏覽器中是否存在對所述文本框元素進(jìn)行處理的DOM對象處理模塊,其中,所述對象處理注冊表中登記所述至少ー個DOM對象處理模塊。
6.根據(jù)權(quán)利要求I至5任一項所述的瀏覽器,其特征在于,所述至少ー個DOM對象處理模塊中存儲有規(guī)定對所述文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。
7.根據(jù)權(quán)利要求6所述的瀏覽器,其特征在于,所述處理方式包括下列至少之ー 為所述文本框元素中不同的文字設(shè)置不同的字體; 在所述文本框兀素中輸入表格; 在所述文本框元素中輸入圖像; 在所述文本框兀素中輸入多媒體信息。
8.根據(jù)權(quán)利要求7所述的瀏覽器,其特征在于,所述多媒體信息包括音頻和/或視頻。
9.根據(jù)權(quán)利要求I至8任一項所述的瀏覽器,其特征在于,所述塊級層包括div層時,所述定制處理模塊還配置為調(diào)用所述文本框元素的innerText屬性;調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理模塊對所述innerText屬性進(jìn)行重定義;將所述文本框元素的重定義后的innerHTML屬性返回至所述div層。
10.根據(jù)權(quán)利要求9所述的瀏覽器,其特征在干,所述重定義操作包括0nblur或onSubmit的處理方式。
11.一種瀏覽器處理頁面文本框元素的方法,在瀏覽器側(cè)設(shè)置至少ー個文本框元素的DOM對象處理器,其中每個對象處理器存儲有文本框元素的定制處理,該方法包括在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象; 調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少ー個文本框元素進(jìn)行所述設(shè)置的定制處理; 將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少ー個文本框元素進(jìn)行所述設(shè)置的定制處理,包括 從所述的轉(zhuǎn)換DOM中獲取文本框元素在瀏覽器頁面上的位置信息; 根據(jù)所述位置信息,在所述文本框元素上生成重疊的塊級層; 在所述塊級層上,調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少ー個文本框元素進(jìn)行所述設(shè)置的定制處理。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于,將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上,包括 將所述定制處理結(jié)果顯示在位于獲取頁面的文本框元素上的所述塊級層上。
14.根據(jù)權(quán)利要求12或13所述的方法,其特征在于,所述塊級層包括div層時,將所述定制處理結(jié)果顯示在獲取頁面中的文本框元素上,包括 獲取所述文本框元素經(jīng)定制處理后生成的內(nèi)容信息; 對所述內(nèi)容信息進(jìn)行解碼,并將解碼后的內(nèi)容信息顯示在div層上。
15.根據(jù)權(quán)利要求11至14任一項所述的方法,其特征在于,調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少ー個文本框元素進(jìn)行所述設(shè)置的定制處理之前,包括 從對象處理注冊表中查詢所述瀏覽器中是否存在對所述文本框元素進(jìn)行處理的DOM對象處理器,其中,所述對象處理注冊表中登記所述至少ー個DOM對象處理器。
16.根據(jù)權(quán)利要求11至15任一項所述的方法,其特征在于,所述至少ー個DOM對象處理器中存儲有規(guī)定對所述文本框元素加載完成時觸發(fā)的事件ContentReady進(jìn)行處理的處理方式。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述處理方式包括下列至少之ー 為所述文本框元素中不同的文字設(shè)置不同的字體; 在所述文本框兀素中輸入表格; 在所述文本框元素中輸入圖像; 在所述文本框兀素中輸入多媒體信息。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述多媒體信息包括音頻和/或視頻。
19.根據(jù)權(quán)利要求17至18任一項所述的方法,其特征在于,所述塊級層包括div層時,調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理器對所述轉(zhuǎn)換的DOM對象中的至少ー個文本框元素進(jìn)行所述設(shè)置的定制處理,包括 調(diào)用所述文本框元素的innerText屬性; 調(diào)用所述設(shè)置的至少ー個文本框元素的DOM對象處理器對所述innerText屬性進(jìn)行重定義;將所述文本框元素的重定義后的innerHTML屬性返回至所述div層。
20.根據(jù)權(quán)利要求19所述的方法,其特征在干,所述重定義操作包括0nblur或onSubmit的處理方式。
全文摘要
本發(fā)明公開了一種對頁面文本框進(jìn)行處理的瀏覽器,包括至少一個文本框元素的DOM對象處理模塊,設(shè)置在瀏覽器側(cè),其中每個對象處理模塊配置為存儲有文本框元素的定制處理;轉(zhuǎn)換模塊,配置為在瀏覽器側(cè)加載獲取頁面,并對獲取頁面中的文本框元素進(jìn)行解析,將該文本框元素轉(zhuǎn)換為DOM對象;定制處理模塊,配置為調(diào)用設(shè)置的至少一個文本框元素的DOM對象處理模塊對轉(zhuǎn)換的DOM對象中的至少一個文本框元素進(jìn)行設(shè)置的定制處理;顯示模塊,配置為將定制處理結(jié)果顯示在獲取頁面中的文本框元素上。采用本發(fā)明能夠?qū)ξ谋究蛟靥峁┝烁倪M(jìn)的呈現(xiàn)和處理方式,增加了頁面的交互性能。本發(fā)明還公開了相應(yīng)的瀏覽器對頁面文本框進(jìn)行處理的方法。
文檔編號G06F17/30GK102981847SQ20121045466
公開日2013年3月20日 申請日期2012年11月13日 優(yōu)先權(quán)日2012年11月13日
發(fā)明者唐曦, 陳志 , 李鳴, 任寰 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司