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