本發(fā)明涉及瀏覽器應(yīng)用領(lǐng)域,具體涉及一種機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查找方法及系統(tǒng)。
背景技術(shù):
通常在訪問(wèn)web瀏覽器頁(yè)面時(shí)默認(rèn)是沒(méi)有初始焦點(diǎn)的,當(dāng)web瀏覽器應(yīng)用在pc機(jī)上時(shí),輸入設(shè)備為鼠標(biāo)和鍵盤,可以通過(guò)鼠標(biāo)點(diǎn)擊或鍵盤特定按鍵輸入聚焦到頁(yè)面上的某個(gè)元素,而當(dāng)web瀏覽器應(yīng)用在機(jī)頂盒上時(shí),輸入設(shè)備為遙控器,遙控器只能移動(dòng)光標(biāo),無(wú)法將光標(biāo)聚焦到頁(yè)面的某個(gè)元素,因此,需要查找機(jī)頂盒瀏覽器頁(yè)面的初始焦點(diǎn)。
現(xiàn)有技術(shù)中,在查找初始焦點(diǎn)時(shí),將所有的頁(yè)面元素按照一定的順序進(jìn)行排序,逐個(gè)查找頁(yè)面元素,找出為初始聚焦元素的頁(yè)面元素。
然而,由于瀏覽器頁(yè)面內(nèi)容和種類繁多,頁(yè)面元素僅包含頁(yè)面的部分主要信息,即使逐個(gè)查找頁(yè)面元素,也可能無(wú)法找到初始聚焦元素,使得聚焦發(fā)生錯(cuò)誤導(dǎo)致輸入無(wú)響應(yīng),瀏覽器頁(yè)面出現(xiàn)死機(jī)的情況,用戶只能返回到上一主界面或重啟機(jī)頂盒,重新加載新的頁(yè)面,用戶體驗(yàn)差。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查詢方法,可有效查找出瀏覽器頁(yè)面的初始焦點(diǎn),避免瀏覽器頁(yè)面出現(xiàn)死機(jī)的情況,用戶體驗(yàn)好。
為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是:
一種機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查找方法,在解析瀏覽器頁(yè)面html后,獲得多個(gè)頁(yè)面元素,生成框架frame樹(shù),并在frame中存儲(chǔ)相應(yīng)的頁(yè)面代碼,查找frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息,若包含,則該frame為初始焦點(diǎn)。
在上述技術(shù)方案的基礎(chǔ)上,在查找frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息前查找頁(yè)面元素是否為可聚焦元素,若是,則該頁(yè)面元素為初始焦點(diǎn)。
在上述技術(shù)方案的基礎(chǔ)上,特定關(guān)鍵字信息為按鍵事件處理類型的關(guān)鍵字。
本發(fā)明還提供一種機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查找方法,包括以下步驟:
s1:解析瀏覽器頁(yè)面html,獲得多個(gè)頁(yè)面元素,并標(biāo)記出每個(gè)頁(yè)面元素是否為可聚焦元素;
s2:根據(jù)瀏覽器頁(yè)面html生成frame樹(shù),將同一frame中的頁(yè)面元素對(duì)應(yīng)生成一文檔對(duì)象模型dom樹(shù),并在frame中存儲(chǔ)相應(yīng)的頁(yè)面代碼;
s3:遍歷每個(gè)頁(yè)面元素,查找是否有頁(yè)面元素為可聚焦元素,若有,則查找結(jié)束,將查找到的可聚焦元素作為聚焦對(duì)象,初始焦點(diǎn)落在此可聚焦元素上,否則,轉(zhuǎn)到步驟s4;
s4:遍歷每個(gè)frame,查找frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息,若是,則查找結(jié)束,將查找到的包含特定關(guān)鍵字信息的frame作為聚焦對(duì)象,初始焦點(diǎn)落在此frame上。
在上述技術(shù)方案的基礎(chǔ)上,步驟s3包括如下步驟:選定frame樹(shù)的根節(jié)點(diǎn)為主frame,遍歷主frame對(duì)應(yīng)的dom樹(shù)的每個(gè)頁(yè)面元素,查找是否有頁(yè)面元素為可聚焦元素,
若有,則查找結(jié)束,將查找到的可聚焦元素作為聚焦對(duì)象,初始焦點(diǎn)落在此可聚焦元素上;否則,將frame樹(shù)的第一個(gè)子節(jié)點(diǎn)作為當(dāng)前frame,遍歷當(dāng)前frame對(duì)應(yīng)的dom樹(shù),查找每個(gè)頁(yè)面元素是否為可聚焦元素,直至遍歷frame樹(shù)的所有節(jié)點(diǎn)。
在上述技術(shù)方案的基礎(chǔ)上,步驟s4包括如下步驟:
選定frame樹(shù)的根節(jié)點(diǎn)為當(dāng)前frame,查找當(dāng)前frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息,若是,則查找結(jié)束,將查找到的包含特定關(guān)鍵字信息的frame作為聚焦對(duì)象,初始焦點(diǎn)落在此frame上,否則,將frame樹(shù)的第一個(gè)子節(jié)點(diǎn)作為當(dāng)前frame,遍歷所有frame,查找frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息。
在上述技術(shù)方案的基礎(chǔ)上,特定關(guān)鍵字信息為按鍵事件處理類型的關(guān)鍵字。
本發(fā)明提供一種機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查找系統(tǒng),包括:
解析模塊,其用于解析瀏覽器頁(yè)面html以獲得多個(gè)頁(yè)面元素,還用于標(biāo)記出每個(gè)頁(yè)面元素是否為可聚焦元素;
創(chuàng)建模塊,其用于生成框架frame樹(shù)、將同一frame中的頁(yè)面元素對(duì)應(yīng)生成一文檔對(duì)象模型dom樹(shù)以及在frame中存儲(chǔ)相應(yīng)的頁(yè)面代碼;
查找模塊,其用于查找是否有頁(yè)面元素為可聚焦元素,還用于查找frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息。
在上述技術(shù)方案的基礎(chǔ)上,特定關(guān)鍵字信息包括關(guān)鍵字onkeypress和onkeydown。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明的機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查詢方法,可有效查找出瀏覽器頁(yè)面的初始焦點(diǎn),避免瀏覽器頁(yè)面出現(xiàn)死機(jī)的情況,用戶體驗(yàn)好。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查詢方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
參見(jiàn)圖1所示,本發(fā)明實(shí)施例提供一種機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查找方法,具體包括如下步驟:
s1:解析瀏覽器頁(yè)面html,獲得多個(gè)頁(yè)面元素,并標(biāo)記出每個(gè)頁(yè)面元素是否為可聚焦元素;
s2:根據(jù)瀏覽器頁(yè)面html生成frame樹(shù),將同一frame中的頁(yè)面元素對(duì)應(yīng)生成一文檔對(duì)象模型dom樹(shù),并在frame中存儲(chǔ)相應(yīng)的頁(yè)面代碼;
s3:選定frame樹(shù)的根節(jié)點(diǎn)為主frame,遍歷主frame對(duì)應(yīng)的dom樹(shù)的每個(gè)頁(yè)面元素,查找是否有頁(yè)面元素為可聚焦元素,若有,則查找結(jié)束,轉(zhuǎn)到步驟s7,否則,轉(zhuǎn)到步驟s4;
s4:將frame樹(shù)的第一個(gè)子節(jié)點(diǎn)作為當(dāng)前frame,遍歷當(dāng)前frame對(duì)應(yīng)的dom樹(shù),查找每個(gè)頁(yè)面元素是否為可聚焦元素,直至遍歷frame樹(shù)的所有節(jié)點(diǎn),若有,則查找結(jié)束,轉(zhuǎn)到步驟s7,否則,轉(zhuǎn)到步驟s5;
s5:選定frame樹(shù)的根節(jié)點(diǎn)為當(dāng)前frame,查找當(dāng)前frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息,若是,則查找結(jié)束,轉(zhuǎn)到步驟s7,否則,轉(zhuǎn)到步驟s6;
s6:將frame樹(shù)的第一個(gè)子節(jié)點(diǎn)作為當(dāng)前frame,遍歷所有frame,查找frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息,若是,則查找結(jié)束,轉(zhuǎn)到步驟s7;
s7:將查找到的可聚焦元素作為聚焦對(duì)象,初始焦點(diǎn)落在此可聚焦元素上,或?qū)⒉檎业降陌囟P(guān)鍵字信息的frame作為聚焦對(duì)象,初始焦點(diǎn)落在此frame上。
上述特定關(guān)鍵字信息為按鍵事件處理類型的關(guān)鍵字,包括關(guān)鍵字onkeypress和onkeydown。
本發(fā)明實(shí)施例還提供了一種機(jī)頂盒瀏覽器頁(yè)面初始焦點(diǎn)的查找系統(tǒng),包括:解析模塊、創(chuàng)建模塊和查找模塊。
解析模塊用于解析瀏覽器頁(yè)面html以獲得多個(gè)頁(yè)面元素,還用于標(biāo)記出每個(gè)頁(yè)面元素是否為可聚焦元素;
創(chuàng)建模塊用于生成框架frame樹(shù)、將同一frame中的頁(yè)面元素對(duì)應(yīng)生成一文檔對(duì)象模型dom樹(shù)以及在frame中存儲(chǔ)相應(yīng)的頁(yè)面代碼;
查找模塊用于查找是否有頁(yè)面元素為可聚焦元素,還用于查找frame中頁(yè)面代碼是否包含特定關(guān)鍵字信息。
上述特定關(guān)鍵字信息為按鍵事件處理類型的關(guān)鍵字,包括關(guān)鍵字onkeypress和onkeydown。
本發(fā)明不局限于上述實(shí)施方式,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說(shuō)明書(shū)中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。