專利名稱:一種基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法
技術(shù)領(lǐng)域:
本發(fā)明涉及瀏覽器領(lǐng)域,尤其涉及一種基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法。
背景技術(shù):
隨著3C融合時代的到來,越來越多的消費(fèi)類電子產(chǎn)品中有瀏覽器應(yīng)用的需求。目前,數(shù)字電視機(jī)頂盒、IPTV機(jī)頂盒、數(shù)字電視一體機(jī)和手機(jī)等產(chǎn)品中很多都已支持瀏覽器應(yīng)用,特別是互聯(lián)網(wǎng)電視的快速發(fā)展又促進(jìn)了嵌入式瀏覽器的迅猛發(fā)展。當(dāng)前互聯(lián)網(wǎng)電視、IPTV機(jī)頂盒等大都是通過遙控器進(jìn)行操作的,遙控器不可能跟鍵盤一樣復(fù)雜。遙控器上的按鈕一般包括上下左右方向鍵、確認(rèn)鍵、返回鍵、數(shù)字鍵和其他功能鍵。對于使用嵌入式瀏覽器來說,主要是通過方向鍵、確認(rèn)鍵和返回鍵來完成各項功能的?;谶@個特點(diǎn),一般要求網(wǎng)頁中焦點(diǎn)不能過多,另外焦點(diǎn)之間的跳動必須合理,同時也給嵌入式瀏覽的開發(fā)增加了難度。目前,大多數(shù)的嵌入式設(shè)備通過瀏覽器都能訪問公網(wǎng),如何通過上下左右方向鍵、確認(rèn)鍵、返回鍵、數(shù)字鍵和其他功能鍵準(zhǔn)確無誤地控制網(wǎng)頁焦點(diǎn)移動,特別是針對大型網(wǎng)頁來說(焦點(diǎn)多),這一點(diǎn)是相當(dāng)有難度的。一般情況下,大多數(shù)的焦點(diǎn)導(dǎo)航機(jī)制對于簡單的網(wǎng)頁支持的非常合理,但是對于復(fù)雜的公網(wǎng)網(wǎng)頁來說,很有可能出現(xiàn)焦點(diǎn)移動混亂的現(xiàn)象。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有技術(shù)中在使用類似遙控器的簡單按鍵訪問公網(wǎng)的時候存在焦點(diǎn)移動混亂的問題,提供一種基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法。本發(fā)明的目的通過下述技術(shù)方案來實(shí)現(xiàn)
一種基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其具體包含以下步驟 步驟1.定義存放焦點(diǎn)屬性信息的數(shù)據(jù)結(jié)構(gòu),獲取每個焦點(diǎn)的屬性信息并將每個焦點(diǎn)框添加到鏈表中;
步驟2.當(dāng)焦點(diǎn)移動時,判斷每個候選焦點(diǎn)框和當(dāng)前焦點(diǎn)框的重合度,根據(jù)重合度得到候選焦點(diǎn)集,選擇候選焦點(diǎn)集中焦點(diǎn)框中心點(diǎn)距離當(dāng)前焦點(diǎn)框中心點(diǎn)最短的候選焦點(diǎn)框?yàn)槟繕?biāo)焦點(diǎn); 其中
當(dāng)前焦點(diǎn)是指當(dāng)前網(wǎng)頁中高亮顯示的焦點(diǎn); 候選焦點(diǎn)是指網(wǎng)頁中除去當(dāng)前焦點(diǎn)的所有可用焦點(diǎn); 目標(biāo)焦點(diǎn)即將高亮顯示的焦點(diǎn);
焦點(diǎn)間的重合度是指當(dāng)焦點(diǎn)移動時,根據(jù)移動方向,當(dāng)前焦點(diǎn)框與候選焦點(diǎn)框在水平方向或者垂直方向的重合程度,根據(jù)重合程度分為完全重合,部分重合,不重合; 焦點(diǎn)間的距離是指當(dāng)前焦點(diǎn)框中心點(diǎn)與候選焦點(diǎn)框中心點(diǎn)之間的直線距離。優(yōu)選地,所述根據(jù)重合度得到候選焦點(diǎn)集的方法具體為,根據(jù)重合度的優(yōu)先級,首先把完全重合的候選焦點(diǎn)作為候選焦點(diǎn)集;如果沒有完全重合的候選焦點(diǎn),其次把部分重合的候選焦點(diǎn)作為候選焦點(diǎn)集;如果沒有部分重合的候選焦點(diǎn),最后把不重合的候選焦點(diǎn)作為候選焦點(diǎn)集。優(yōu)選地,在豎直方向上,當(dāng)向上移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)y坐標(biāo)值小于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;當(dāng)向下移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)y坐標(biāo)值大于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;然后進(jìn)行重合度判斷和距離計算。優(yōu)選地,在水平方向上,當(dāng)向左移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)χ坐標(biāo)值大于當(dāng)前焦點(diǎn)中心點(diǎn)的X坐標(biāo)值的候選焦點(diǎn)忽略;當(dāng)向右移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)X坐標(biāo)值小于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;然后進(jìn)行重合度判斷和距離計算。優(yōu)選地,所述步驟1定義的存放焦點(diǎn)屬性信息的數(shù)據(jù)結(jié)構(gòu)里面主要包含了焦點(diǎn)的類型,狀態(tài),坐標(biāo)信息屬性信息。在嵌入式全功能瀏覽器對網(wǎng)頁進(jìn)行HTML解析后,生成一顆 DOM樹,通過遍歷整顆DOM樹,將DOM樹中的每個節(jié)點(diǎn)的相關(guān)屬性信息添加到上述構(gòu)建的數(shù)據(jù)結(jié)構(gòu)的相關(guān)參數(shù)當(dāng)中。優(yōu)選地,所述方法還包括對默認(rèn)焦點(diǎn)框顯示的支持。通過對鏈表中焦點(diǎn)的y坐標(biāo)值進(jìn)行比較,選出y最小的值,如果存在y值相等的情況,則比較χ坐標(biāo)值的大小,最終選取在y坐標(biāo)最小的情況下χ坐標(biāo)值也最小的那個焦點(diǎn)為默認(rèn)顯示焦點(diǎn)。本發(fā)明的有益效果通過上述方法,在查找目標(biāo)焦點(diǎn)時根據(jù)當(dāng)前焦點(diǎn)框中心點(diǎn)與候選焦點(diǎn)框中心點(diǎn)之間的直線距離并兼顧當(dāng)前焦點(diǎn)框與候選焦點(diǎn)框之間的重合度,使得焦點(diǎn)導(dǎo)航更為準(zhǔn)確,更加敏感,對于嵌入式全功能瀏覽器下瀏覽大型網(wǎng)頁效果尤為明顯。本發(fā)明最終為用戶提供了更人性化,快捷,準(zhǔn)確的焦點(diǎn)定位,對用戶使用遙控器操作上網(wǎng)的可控性增加,增強(qiáng)了用戶的體驗(yàn)感,具有一定的社會使用價值。說明書附圖
圖1為本發(fā)明的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法流程圖。圖2為本發(fā)明的添加網(wǎng)頁焦點(diǎn)屬性信息實(shí)現(xiàn)流程圖。
具體實(shí)施例方式下面結(jié)合具體實(shí)施例和附圖對本發(fā)明作進(jìn)一步的說明。本發(fā)明的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其具體包含以下步驟 步驟1.定義存放焦點(diǎn)屬性信息的數(shù)據(jù)結(jié)構(gòu),獲取每個焦點(diǎn)的屬性信息并將每個焦點(diǎn)
框添加到鏈表中;
步驟2.當(dāng)焦點(diǎn)移動時,判斷每個候選焦點(diǎn)框和當(dāng)前焦點(diǎn)框的重合度,通過重合度的判斷得到候選焦點(diǎn)集,選擇候選焦點(diǎn)集中焦點(diǎn)框中心點(diǎn)距離當(dāng)前焦點(diǎn)框中心點(diǎn)最短的候選焦點(diǎn)框?yàn)槟繕?biāo)焦點(diǎn)。上述方法中當(dāng)前焦點(diǎn)是指當(dāng)前網(wǎng)頁中高亮顯示的焦點(diǎn)。候選焦點(diǎn)是指網(wǎng)頁中除去當(dāng)前焦點(diǎn)的所有可用焦點(diǎn)。目標(biāo)焦點(diǎn)按遙控器方向鍵后,通過導(dǎo)航計算,即將高亮顯示的焦點(diǎn)。焦點(diǎn)間的重合度是指當(dāng)焦點(diǎn)移動時,根據(jù)移動方向,當(dāng)前焦點(diǎn)框與候選焦點(diǎn)框在水平方向或者垂直方向的重合程度,根據(jù)重合程度可分為完全重合,部分重合, 不重合。焦點(diǎn)間的距離是指當(dāng)前焦點(diǎn)框中心點(diǎn)與候選焦點(diǎn)框中心點(diǎn)之間的直線距離。如圖1所示的本發(fā)明的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法流程圖。通過上述方法,在查找目標(biāo)焦點(diǎn)時根據(jù)當(dāng)前焦點(diǎn)框中心點(diǎn)與候選焦點(diǎn)框中心點(diǎn)之間的直線距離并兼顧當(dāng)前焦點(diǎn)框與候選焦點(diǎn)框之間的重合度,使得焦點(diǎn)導(dǎo)航更為準(zhǔn)確,更加敏感,對于嵌入式全功能瀏覽器下瀏覽大型網(wǎng)頁效果尤為明顯。如今,互聯(lián)網(wǎng)電視的蓬勃發(fā)展必將引導(dǎo)我們未來的數(shù)字家庭生活,使用嵌入式全功能瀏覽器上公網(wǎng)成為必然。本發(fā)明最終為用戶提供了更人性化,快捷,準(zhǔn)確的焦點(diǎn)定位,對用戶使用遙控器操作上網(wǎng)的可控性增加,增強(qiáng)了用戶的體驗(yàn)感,具有一定的社會使用價值。優(yōu)選地,根據(jù)重合度得到候選焦點(diǎn)集的方法為,根據(jù)重合度的優(yōu)先級,首先考慮把完全重合的候選焦點(diǎn)作為候選焦點(diǎn)集;如果沒有完全重合的候選焦點(diǎn),其次考慮把部分重合的候選焦點(diǎn)作為候選焦點(diǎn)集;如果沒有部分重合的候選焦點(diǎn),最后考慮把不重合的候選焦點(diǎn)作為候選焦點(diǎn)集。優(yōu)選地,在豎直方向上,當(dāng)向上移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)y坐標(biāo)值小于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;當(dāng)向下移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)y坐標(biāo)值大于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;然后進(jìn)行重合度判斷和距離計算。優(yōu)選地,在水平方向上,當(dāng)向左移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)χ坐標(biāo)值大于當(dāng)前焦點(diǎn)中心點(diǎn)的X坐標(biāo)值的候選焦點(diǎn)忽略;當(dāng)向右移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)X坐標(biāo)值小于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;然后進(jìn)行重合度判斷和距離計算。優(yōu)選地,所述步驟1定義的存放焦點(diǎn)屬性信息的數(shù)據(jù)結(jié)構(gòu)里面主要包含了焦點(diǎn)的類型,狀態(tài),坐標(biāo)信息屬性信息。在嵌入式全功能瀏覽器對網(wǎng)頁進(jìn)行HTML解析后,生成一顆 DOM樹,通過遍歷整顆DOM樹,將DOM樹中的每個節(jié)點(diǎn)的相關(guān)屬性信息添加到上述構(gòu)建的數(shù)據(jù)結(jié)構(gòu)的相關(guān)參數(shù)當(dāng)中。具體實(shí)現(xiàn)為如下數(shù)據(jù)結(jié)構(gòu)
class FocusNode{ public:
FocusNode (); FocusNode (); FocusNode* m—preNode;
FocusNode* m—nextNode; int m—type; int m—shapeX; int m—shapeY; int m—shapeW; int m—shapeH; int m—status; int m—hasSetShape;
ι
在該數(shù)據(jù)結(jié)構(gòu)中,
其中m_type表示焦點(diǎn)的類型,m_shapeX表示焦點(diǎn)的χ坐標(biāo)值,m_shapeY表示焦點(diǎn)的 y坐標(biāo)值,m_shapeW表示焦點(diǎn)框的寬度,m_shapeH表示焦點(diǎn)框的高度,m_status表示焦點(diǎn)的狀態(tài)(F0CUS_0FF,F(xiàn)0CUS_0N表示該焦點(diǎn)兩種狀態(tài)),m_hasSetShape表示是否對焦點(diǎn)的 shape進(jìn)行了坐標(biāo)信息的設(shè)置,m_preN0de表示當(dāng)前焦點(diǎn)的前一個焦點(diǎn),nuiextNode表示當(dāng)前焦點(diǎn)的下一個焦點(diǎn)。
如圖2所示的本發(fā)明的添加網(wǎng)頁焦點(diǎn)屬性信息實(shí)現(xiàn)流程圖。所述步驟1還包括在嵌入式全功能瀏覽器對網(wǎng)頁進(jìn)行HTML解析后,生成一顆DOM(文檔對象模型)樹,通過遍歷整顆DOM樹,將DOM樹中的每個節(jié)點(diǎn)的相關(guān)屬性信息添加到上述構(gòu)建的數(shù)據(jù)結(jié)構(gòu)的相關(guān)參數(shù)當(dāng)中。為了統(tǒng)一整個頁面的坐標(biāo)系,我們使用絕對坐標(biāo)來表示網(wǎng)頁焦點(diǎn)的坐標(biāo)信息。因?yàn)槊總€元素都有offsetTop和OffsetLeft屬性,表示該元素的左上角與父容器(offsetParent 對象)左上角的距離。所以,只需要將元素的offsetTop和OffsetLeft值與其父容器的 offsetTop和OffsetLeft值進(jìn)行累加,就可以得到該元素的絕對坐標(biāo)。這樣就可以使整個網(wǎng)頁焦點(diǎn)的坐標(biāo)統(tǒng)一起來,最終為導(dǎo)航計算提供支持。然后將轉(zhuǎn)換后得到的絕對坐標(biāo)信息添加到構(gòu)建的數(shù)據(jù)結(jié)構(gòu)的相關(guān)參數(shù)中去。最終按照節(jié)點(diǎn)添加的順序,將網(wǎng)頁的全部節(jié)點(diǎn)信息存儲在構(gòu)建的數(shù)據(jù)結(jié)構(gòu)中。按照附圖一所示的方法,可實(shí)現(xiàn)將網(wǎng)頁中所有焦點(diǎn)的相關(guān)屬性信息,添加到所構(gòu)建的數(shù)據(jù)結(jié)構(gòu)中,并以鏈表的形式進(jìn)行關(guān)聯(lián)。優(yōu)選地,所述方法還包括對默認(rèn)焦點(diǎn)框顯示的支持。通過對鏈表中焦點(diǎn)的y坐標(biāo)值進(jìn)行比較,選出y最小的值,如果存在y值相等的情況,則比較χ坐標(biāo)值的大小,最終選取在y坐標(biāo)最小的情況下χ坐標(biāo)值也最小的那個焦點(diǎn)為默認(rèn)顯示焦點(diǎn)。這樣的默認(rèn)焦點(diǎn)顯示更符合我們的邏輯需求。以上上述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其具體包含以下步驟步驟1.定義存放焦點(diǎn)屬性信息的數(shù)據(jù)結(jié)構(gòu),獲取每個焦點(diǎn)的屬性信息并將每個焦點(diǎn)添加到鏈表中;步驟2.當(dāng)焦點(diǎn)移動時,判斷每個候選焦點(diǎn)框和當(dāng)前焦點(diǎn)框的重合度,根據(jù)重合度得到候選焦點(diǎn)集,選擇候選焦點(diǎn)集中焦點(diǎn)框中心點(diǎn)距離當(dāng)前焦點(diǎn)框中心點(diǎn)最短的候選焦點(diǎn)框?yàn)槟繕?biāo)焦點(diǎn);其中當(dāng)前焦點(diǎn)是指當(dāng)前網(wǎng)頁中高亮顯示的焦點(diǎn);候選焦點(diǎn)是指網(wǎng)頁中除去當(dāng)前焦點(diǎn)的所有可用焦點(diǎn);目標(biāo)焦點(diǎn)即將高亮顯示的焦點(diǎn);焦點(diǎn)間的重合度是指當(dāng)焦點(diǎn)移動時,根據(jù)移動方向,當(dāng)前焦點(diǎn)框與候選焦點(diǎn)框在水平方向或者垂直方向的重合程度,根據(jù)重合程度分為完全重合,部分重合,不重合;焦點(diǎn)間的距離是指當(dāng)前焦點(diǎn)框中心點(diǎn)與候選焦點(diǎn)框中心點(diǎn)之間的直線距離。
2.如權(quán)利要求1所述的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其特征在于所述根據(jù)重合度得到候選焦點(diǎn)集的方法具體為,根據(jù)重合度的優(yōu)先級,首先把完全重合的候選焦點(diǎn)作為候選焦點(diǎn)集;如果沒有完全重合的候選焦點(diǎn),其次把部分重合的候選焦點(diǎn)作為候選焦點(diǎn)集;如果沒有部分重合的候選焦點(diǎn),最后把不重合的候選焦點(diǎn)作為候選焦點(diǎn)集。
3.如權(quán)利要求2所述的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其特征在于所述步驟2具體為在豎直方向上,當(dāng)向上移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)y坐標(biāo)值小于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;當(dāng)向下移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)y坐標(biāo)值大于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;然后進(jìn)行重合度判斷和距離計算。
4.如權(quán)利要求3所述的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其特征在于所述步驟2具體為在水平方向上,當(dāng)向左移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)χ坐標(biāo)值大于當(dāng)前焦點(diǎn)中心點(diǎn)的χ坐標(biāo)值的候選焦點(diǎn)忽略;當(dāng)向右移動焦點(diǎn)時,對于候選焦點(diǎn)中心點(diǎn)χ坐標(biāo)值小于當(dāng)前焦點(diǎn)中心點(diǎn)的y坐標(biāo)值的候選焦點(diǎn)忽略;然后進(jìn)行重合度判斷和距離計算。
5.如權(quán)利要求4所述的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其特征在于所述步驟1定義的存放焦點(diǎn)屬性信息的數(shù)據(jù)結(jié)構(gòu)里面主要包含了焦點(diǎn)的類型,狀態(tài),坐標(biāo)信息屬性信息,在嵌入式全功能瀏覽器對網(wǎng)頁進(jìn)行HTML解析后,生成一顆DOM樹,通過遍歷整顆 DOM樹,將DOM樹中的每個節(jié)點(diǎn)的相關(guān)屬性信息添加到上述構(gòu)建的數(shù)據(jù)結(jié)構(gòu)的相關(guān)參數(shù)當(dāng)中。
6.如權(quán)利要求5所述的基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其特征在于所述方法還包括對默認(rèn)焦點(diǎn)框顯示的支持。
7.通過對鏈表中焦點(diǎn)的y坐標(biāo)值進(jìn)行比較,選出y最小的值,如果存在y值相等的情況,則比較χ坐標(biāo)值的大小,最終選取在y坐標(biāo)最小的情況下χ坐標(biāo)值也最小的那個焦點(diǎn)為默認(rèn)顯示焦點(diǎn)。
全文摘要
本發(fā)明涉及瀏覽器領(lǐng)域,本發(fā)明公開了一種基于嵌入式全功能瀏覽器的焦點(diǎn)導(dǎo)航方法,其具體包含以下步驟步驟1.定義存放焦點(diǎn)屬性信息的數(shù)據(jù)結(jié)構(gòu),獲取每個焦點(diǎn)的屬性信息并將每個焦點(diǎn)添加到鏈表中;步驟2.當(dāng)焦點(diǎn)移動時,判斷每個候選焦點(diǎn)框和當(dāng)前焦點(diǎn)框的重合度,根據(jù)重合度得到候選焦點(diǎn)集,選擇候選焦點(diǎn)集中焦點(diǎn)框中心點(diǎn)距離當(dāng)前焦點(diǎn)框中心點(diǎn)最短的候選焦點(diǎn)框?yàn)槟繕?biāo)焦點(diǎn)。通過上述方法,在查找目標(biāo)焦點(diǎn)時根據(jù)當(dāng)前焦點(diǎn)框中心點(diǎn)與候選焦點(diǎn)框中心點(diǎn)之間的直線距離并兼顧當(dāng)前焦點(diǎn)框與候選焦點(diǎn)框之間的重合度,使得焦點(diǎn)導(dǎo)航更為準(zhǔn)確,更加敏感,對于嵌入式全功能瀏覽器下瀏覽大型網(wǎng)頁效果尤為明顯。
文檔編號G06F17/30GK102402601SQ20111036750
公開日2012年4月4日 申請日期2011年11月18日 優(yōu)先權(quán)日2011年11月18日
發(fā)明者李曉東, 蘇軻, 蒲凱 申請人:四川長虹電器股份有限公司