本發(fā)明實(shí)施例涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種菜單項(xiàng)切換的方法及裝置。
背景技術(shù):
為了給用戶(hù)更加便捷的體驗(yàn),基于互聯(lián)網(wǎng)技術(shù)的推動(dòng)出現(xiàn)了智能電視。智能電視具有全開(kāi)放式的平臺(tái),搭載有操作系統(tǒng),因此可以使用戶(hù)在觀看普通電視內(nèi)容的同時(shí),還可以安裝各種應(yīng)用軟件,實(shí)現(xiàn)電視的“網(wǎng)絡(luò)化”“智能化”。
智能電視的操作系統(tǒng)中菜單是多級(jí)的,為了便于用戶(hù)清楚菜單間的層級(jí)關(guān)系,通常會(huì)將當(dāng)前菜單以及關(guān)聯(lián)的層級(jí)關(guān)系同時(shí)顯示。例如,假設(shè)當(dāng)前菜單包括“點(diǎn)播”、“直播”、“回播”三個(gè)菜單項(xiàng),若點(diǎn)擊其中一個(gè)菜單項(xiàng)“點(diǎn)播”,可以相應(yīng)地展示“點(diǎn)播”對(duì)應(yīng)的下級(jí)菜單,并且菜單項(xiàng)“點(diǎn)播”也不會(huì)消失。
在用戶(hù)選擇各層級(jí)菜單中的菜單項(xiàng)時(shí),通常是通過(guò)遙控器控制光標(biāo)的移動(dòng)來(lái)選擇的。而對(duì)各層級(jí)菜單項(xiàng)選擇的具體方式是以菜單間層級(jí)的遍歷樹(shù)關(guān)系為基礎(chǔ)的,所以光標(biāo)不能進(jìn)行跨層級(jí)移動(dòng)。例如,對(duì)于上述例子,若當(dāng)前用戶(hù)想要從“點(diǎn)播”的下級(jí)菜單對(duì)應(yīng)的菜單項(xiàng)中直接切換到與“點(diǎn)播”為同級(jí)菜單項(xiàng)的“直播”,現(xiàn)有技術(shù)的做法是:首先在將光標(biāo)從“點(diǎn)播”的下級(jí)菜單內(nèi)返回到“點(diǎn)播”菜單項(xiàng);其次再將光標(biāo)從“點(diǎn)播”菜單項(xiàng)移動(dòng)到“直播”菜單項(xiàng)。綜上可以看到,用戶(hù)在智能電視中進(jìn)行跨層級(jí)菜單項(xiàng)切換時(shí)操作復(fù)雜。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種菜單項(xiàng)切換的方法及裝置,用以解決現(xiàn)有的智能電視中用戶(hù)進(jìn)行跨層級(jí)菜單項(xiàng)選擇時(shí)操作復(fù)雜的問(wèn)題。
本發(fā)明實(shí)施例提供一種菜單項(xiàng)切換的方法,所述方法包括:
獲取光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置,所述菜單項(xiàng)位于對(duì)應(yīng)的網(wǎng)絡(luò)視圖webview中;
接收移動(dòng)指令,所述移動(dòng)指令為控制所述光標(biāo)移動(dòng)的指令;
根據(jù)所述位置和所述移動(dòng)指令確定所述光標(biāo)的目標(biāo)位置,所述目標(biāo)位置為所述菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與所述菜單項(xiàng)相鄰的菜單項(xiàng)的位置;
將所述光標(biāo)直接移動(dòng)至所述目標(biāo)位置。
本發(fā)明實(shí)施例提供一種菜單項(xiàng)切換的裝置,所述裝置包括:
獲取單元,用于獲取光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置,所述菜單項(xiàng)位于對(duì)應(yīng)的網(wǎng)絡(luò)視圖webview中;
接收單元,用于接收移動(dòng)指令,所述移動(dòng)指令為控制所述光標(biāo)移動(dòng)的指令;
確定單元,用于根據(jù)所述位置和所述移動(dòng)指令確定所述光標(biāo)的目標(biāo)位置,所述目標(biāo)位置為所述菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與所述菜單項(xiàng)相鄰的菜單項(xiàng)的位置;
移動(dòng)單元,用于將所述光標(biāo)直接移動(dòng)至所述目標(biāo)位置。
本發(fā)明實(shí)施例提供的菜單項(xiàng)切換的方法及裝置,能夠首先獲取光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置,菜單項(xiàng)位于對(duì)應(yīng)的網(wǎng)絡(luò)視圖webview中,每個(gè)webview對(duì)應(yīng)一個(gè)線程或一個(gè)進(jìn)程;其次,接收移動(dòng)指令,移動(dòng)指令為控制光標(biāo)移動(dòng)的指令;然后根據(jù)光標(biāo)當(dāng)前所處菜單項(xiàng)的位置和移動(dòng)指令確定光標(biāo)的目標(biāo)位置,該目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與該菜單項(xiàng)相鄰的菜單項(xiàng)的位置;最后將光標(biāo)直接移動(dòng)至目標(biāo)位置。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置以及移動(dòng)指令,確定光標(biāo)移動(dòng)的目標(biāo)位置,該目標(biāo)位置不僅包括菜單項(xiàng)對(duì)應(yīng)的webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置,還包括其它webview中與當(dāng)前光標(biāo)所處的菜單項(xiàng)相鄰的菜單項(xiàng)的位置。因此可以實(shí)現(xiàn)使用戶(hù)在使用智能電視時(shí)通過(guò)控制光標(biāo)的移動(dòng)不僅可以在同一webview即同一個(gè)菜單內(nèi)直接進(jìn)行相鄰菜單項(xiàng)的切換,而且可以在不同的webview對(duì)應(yīng)不同的菜單之間直接進(jìn)行相鄰菜單項(xiàng)的切換。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種菜單項(xiàng)切換的方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種菜單項(xiàng)切換的裝置的組成框圖;
圖3為本發(fā)明實(shí)施例提供的另一種菜單項(xiàng)切換的裝置的組成框圖;
圖4為本發(fā)明實(shí)施例提供的一種菜單項(xiàng)切換的方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種菜單項(xiàng)切換的方法,如圖1所示,該方法包括:
101、獲取光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置。
本實(shí)施例主要針對(duì)在用戶(hù)在使用智能電視時(shí),通過(guò)菜單進(jìn)行不同節(jié)目或應(yīng)用的選取時(shí)的場(chǎng)景。因此光標(biāo)是指在用于標(biāo)記或指示當(dāng)前選中的菜單項(xiàng),通常用戶(hù)通過(guò)遙控器等控制設(shè)備控制光標(biāo)的移動(dòng)。本步驟中獲取當(dāng)前所處的菜單位置是為了實(shí)時(shí)記錄光標(biāo)的位置,然后根據(jù)當(dāng)前位置以及移動(dòng)的指令來(lái)進(jìn)行準(zhǔn)確地移動(dòng)光標(biāo)。
另外需要說(shuō)明的是,在現(xiàn)有的智能電視系統(tǒng)中,菜單是多級(jí)的,每一級(jí)的每一個(gè)菜單對(duì)應(yīng)一個(gè)webview,而每個(gè)webview對(duì)應(yīng)一個(gè)線程或者一個(gè)進(jìn)程,因此現(xiàn)有技術(shù)中每個(gè)webview之間是不相通的,光標(biāo)不能直接在兩個(gè)不同的webview之間進(jìn)行移動(dòng)或切換。其中的webview是一個(gè)網(wǎng)絡(luò)視圖,是用于顯示網(wǎng)頁(yè)或顯示應(yīng)用內(nèi)容的。本實(shí)施例中的菜單中的菜單項(xiàng)主要是控件類(lèi)型的。
102、接收移動(dòng)指令,移動(dòng)指令為控制光標(biāo)移動(dòng)的指令。
接收移動(dòng)指令是指接收由遙控器等控制設(shè)備發(fā)出的控制光標(biāo)移動(dòng)的指令。該移動(dòng)指令通常包括使光標(biāo)進(jìn)行左右上下的移動(dòng)。
另外本步驟與步驟101沒(méi)有嚴(yán)格的先后執(zhí)行順序,兩個(gè)步驟可以任意先后,也可以同時(shí)進(jìn)行。
103、根據(jù)位置和移動(dòng)指令確定光標(biāo)的目標(biāo)位置。
根據(jù)步驟101確定的光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置以及由步驟102接收得到的光標(biāo)的移動(dòng)指令共同確定光標(biāo)的目標(biāo)位置。本實(shí)施例中光標(biāo)的目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置。給出具體的示例進(jìn)行說(shuō)明:假設(shè)某級(jí)菜單包括“A”、“B”、“C”三個(gè)菜單項(xiàng),且三個(gè)菜單項(xiàng)水平排成一行,每一個(gè)菜單項(xiàng)下又分別包含一個(gè)下級(jí)菜單,每個(gè)下級(jí)菜單中也包括多個(gè)下級(jí)菜單項(xiàng)。具體的“A”包含的下級(jí)菜單項(xiàng)為“A1”“A2”“A3”;“B”包含的下級(jí)菜單項(xiàng)為“B1”“B2”“B3”;“C”包含的下級(jí)菜單項(xiàng)為“C1”“C2”“C3”,另外所有的下級(jí)菜單項(xiàng)都成一列豎直排列。若當(dāng)前光標(biāo)所處的菜單項(xiàng)的位置為“A2”,對(duì)應(yīng)的目標(biāo)位置可以是與“A2”相鄰的并且同處于一個(gè)webview中的其它菜單項(xiàng)“A1”或“A3”也可以是與“A2”相鄰的處于其它的webview中的菜單項(xiàng)“B2”或“B”等。其中“A”、“B”、“C”對(duì)應(yīng)一個(gè)webview,每一個(gè)下級(jí)菜單也分別對(duì)應(yīng)一個(gè)webview。
104、將光標(biāo)直接移動(dòng)至目標(biāo)位置。
確定目標(biāo)位置后,就可以將光標(biāo)直接移動(dòng)至目標(biāo)位置,完成光標(biāo)直接在同一個(gè)webview中相鄰的菜單項(xiàng)的切換或者在不同的webview之間相鄰菜單項(xiàng)的切換。
本發(fā)明實(shí)施例提供的菜單切換的方法,能夠首先獲取光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置,菜單項(xiàng)位于對(duì)應(yīng)的網(wǎng)絡(luò)視圖webview中,每個(gè)webview對(duì)應(yīng)一個(gè)線程或一個(gè)進(jìn)程;其次,接收移動(dòng)指令,移動(dòng)指令為控制光標(biāo)移動(dòng)的指令;然后根據(jù)光標(biāo)當(dāng)前所處菜單項(xiàng)的位置和移動(dòng)指令確定光標(biāo)的目標(biāo)位置,該目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與該菜單項(xiàng)相鄰的菜單項(xiàng)的位置;最后將光標(biāo)直接移動(dòng)至目標(biāo)位置。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置以及移動(dòng)指令,確定光標(biāo)移動(dòng)的目標(biāo)位置,該目標(biāo)位置不僅包括菜單項(xiàng)對(duì)應(yīng)的webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置,還包括其它webview中與當(dāng)前光標(biāo)所處的菜單項(xiàng)相鄰的菜單項(xiàng)的位置。因此可以實(shí)現(xiàn)使用戶(hù)在使用智能電視時(shí)通過(guò)控制光標(biāo)的移動(dòng)不僅可以在同一webview即同一個(gè)菜單內(nèi)直接進(jìn)行相鄰菜單項(xiàng)的切換,而且可以在不同的webview對(duì)應(yīng)不同的菜單之間直接進(jìn)行相鄰菜單項(xiàng)的切換。
進(jìn)一步的,為了對(duì)圖1所示實(shí)施例的細(xì)化及擴(kuò)展,本發(fā)明實(shí)施例對(duì)圖1中的步驟進(jìn)行細(xì)化和補(bǔ)充,如下:
對(duì)于圖1步驟103中根據(jù)位置和移動(dòng)指令確定光標(biāo)的目標(biāo)位置具體包括兩種情況:
第一種情況:若位置為菜單項(xiàng)對(duì)應(yīng)的webview的邊界且移動(dòng)指令為繼續(xù)向邊界外移動(dòng)的指令,則確定目標(biāo)位置為其它webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置。具體的:若光標(biāo)當(dāng)前所處的菜單項(xiàng)為對(duì)應(yīng)webview中最左端的菜單項(xiàng),且移動(dòng)指令為使光標(biāo)繼續(xù)向左移動(dòng)的指令,則確定目標(biāo)位置為與最左端的菜單項(xiàng)相鄰的位于其它webview中的菜單項(xiàng)。其中位置相鄰不是絕對(duì)的相鄰,比如兩個(gè)webview左右相鄰,左邊的webview中顯示有三個(gè)菜單項(xiàng)且為縱向排列,右邊的webview中顯示有兩個(gè)菜單項(xiàng)且為橫向排列且所在橫向位置與縱向排列的webview中的第一個(gè)菜單項(xiàng)在同一水平位置,那么縱向排列的webview中每一個(gè)菜單項(xiàng)都可以稱(chēng)與橫向排列的webview中第一個(gè)菜單項(xiàng)相鄰。
第二種情況:若不同時(shí)滿(mǎn)足位置為菜單項(xiàng)對(duì)應(yīng)的webview的邊界和移動(dòng)指令為繼續(xù)向邊界外移動(dòng)的指令,則確定目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置。
第二種情況中包含了除第一種情況之外的位置與移動(dòng)指令的三種組合情況,這三種情況都可以歸于光標(biāo)在菜單項(xiàng)對(duì)應(yīng)的webview中的移動(dòng)的情景。
進(jìn)一步的,對(duì)于上述確定光標(biāo)的目標(biāo)位置的兩種情況,對(duì)應(yīng)的圖1步驟104中將光標(biāo)移動(dòng)至目標(biāo)位置也包括兩種情況:
第一種情況:若目標(biāo)位置為其它webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置,則調(diào)用爪哇腳本(JavaScript,簡(jiǎn)稱(chēng)JS腳本),以使光標(biāo)直接移動(dòng)至其它webview中的目標(biāo)位置,JS腳本為使光標(biāo)跨越不同的webview進(jìn)行移動(dòng)的程序。
具體的:本實(shí)施例中調(diào)用的JS腳本是菜單項(xiàng)所在的webview對(duì)應(yīng)的網(wǎng)頁(yè)程序中的腳本,它由應(yīng)用層中的調(diào)用程序控制,當(dāng)目標(biāo)位置為其他webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置時(shí),則觸發(fā)應(yīng)用層中的調(diào)用程序,然后進(jìn)一步的啟動(dòng)JS腳本的調(diào)用,將光標(biāo)的控制權(quán)(移動(dòng)權(quán))下發(fā)給其他的webview,實(shí)現(xiàn)光標(biāo)跨越不同的webview,并在其他的webview中繼續(xù)移動(dòng)。當(dāng)光標(biāo)進(jìn)入到其他的webview之后繼續(xù)按照?qǐng)D1中的所有步驟繼續(xù)進(jìn)行新的移動(dòng)。
第二種情況:若目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置,則直接按照菜單項(xiàng)對(duì)應(yīng)的webview內(nèi)定義的方向移動(dòng)光標(biāo)。需要說(shuō)明的是每個(gè)webview內(nèi)都有已經(jīng)定義的可以直接進(jìn)行移動(dòng)的方向,具體的定義的方向是根據(jù)不同的webview中菜單項(xiàng)的位置排列提前設(shè)定的。只要不超出菜單選項(xiàng)所在的webview內(nèi),則可以直接使用已經(jīng)定義的方向移動(dòng)光標(biāo)。
進(jìn)一步的,同一個(gè)菜單項(xiàng)可能與多個(gè)方向上的其它webview中的菜單項(xiàng)相鄰,因此為了調(diào)用JS腳本的方便和快速性,對(duì)于不同的方向上的其它webview設(shè)置有不同的JS腳本。所以在調(diào)用JS腳本之前,需要判斷移動(dòng)指令的移動(dòng)方向,然后根據(jù)移動(dòng)指令的移動(dòng)方向確定其它webview中對(duì)應(yīng)的一個(gè)webview,進(jìn)而調(diào)用該方向上webview對(duì)應(yīng)的JS腳本,實(shí)現(xiàn)光標(biāo)依據(jù)不同的JS腳本直接跨越至對(duì)應(yīng)不同方向的其它webview中。
進(jìn)一步的,對(duì)于不同方向的JS腳本也可以集成一個(gè)JS腳本,并在該JS腳本中設(shè)置不同的移動(dòng)方向作為調(diào)用對(duì)應(yīng)不同方向的腳本的條件。
進(jìn)一步的,作為對(duì)上述圖1所示方法的實(shí)現(xiàn),本發(fā)明實(shí)施例的另一個(gè)實(shí)施例還提供了一種菜單項(xiàng)切換的裝置,如圖2所示,該裝置包括:獲取單元21、接收單元22、確定單元23以及移動(dòng)單元24。
獲取單元21,用于獲取光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置,菜單項(xiàng)位于對(duì)應(yīng)的網(wǎng)絡(luò)視圖webview中。
本實(shí)施例中獲取當(dāng)前所處的菜單位置是為了實(shí)時(shí)記錄光標(biāo)的位置,然后根據(jù)當(dāng)前位置以及移動(dòng)的指令來(lái)進(jìn)行準(zhǔn)確地移動(dòng)光標(biāo)。本實(shí)施例中的菜單中的菜單項(xiàng)主要是控件類(lèi)型的。
接收單元22,用于接收移動(dòng)指令,移動(dòng)指令為控制光標(biāo)移動(dòng)的指令。
接收移動(dòng)指令是指接收由遙控器等控制設(shè)備發(fā)出的控制光標(biāo)移動(dòng)的指令。該移動(dòng)指令通常包括使光標(biāo)進(jìn)行左右上下的移動(dòng)。
確定單元23,用于根據(jù)位置和移動(dòng)指令確定光標(biāo)的目標(biāo)位置,目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置。
根據(jù)步驟獲取單元21確定的光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置以及由接收單元22接收得到的光標(biāo)的移動(dòng)指令共同確定光標(biāo)的目標(biāo)位置。本實(shí)施例中光標(biāo)的目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置。
移動(dòng)單元24,用于將光標(biāo)直接移動(dòng)至目標(biāo)位置。
確定目標(biāo)位置后,就可以將光標(biāo)直接移動(dòng)至目標(biāo)位置,完成光標(biāo)直接在同一個(gè)webview中相鄰的菜單項(xiàng)的切換或者在不同的webview之間相鄰菜單項(xiàng)的切換。
進(jìn)一步的,如圖3所示,確定單元23,包括:
第一確定模塊231,用于若位置為菜單項(xiàng)對(duì)應(yīng)的webview的邊界且移動(dòng)指令為繼續(xù)向邊界外移動(dòng)的指令,則確定目標(biāo)位置為其它webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置。
具體的:若光標(biāo)當(dāng)前所處的菜單項(xiàng)為對(duì)應(yīng)webview中最左端的菜單項(xiàng),且移動(dòng)指令為使光標(biāo)繼續(xù)向左移動(dòng)的指令,則確定目標(biāo)位置為與最左端的菜單項(xiàng)相鄰的位于其它webview中的菜單項(xiàng)。其中位置相鄰不是絕對(duì)的相鄰,比如兩個(gè)webview左右相鄰,左邊的webview中顯示有三個(gè)菜單項(xiàng)且為縱向排列,右邊的webview中顯示有兩個(gè)菜單項(xiàng)且為橫向排列且所在橫向位置與縱向排列的webview中的第一個(gè)菜單項(xiàng)在同一水平位置,那么縱向排列的webview中每一個(gè)菜單項(xiàng)都可以稱(chēng)與橫向排列的webview中第一個(gè)菜單項(xiàng)相鄰。
第二確定模塊232,用于若不同時(shí)滿(mǎn)足位置為菜單項(xiàng)對(duì)應(yīng)的webview的邊界和移動(dòng)指令為繼續(xù)向邊界外移動(dòng)的指令,則確定目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置。
第二確定模塊232中包含了除第一種情況之外的位置與移動(dòng)指令的三種組合情況,這三種情況都可以歸于光標(biāo)在菜單項(xiàng)對(duì)應(yīng)的webview中的移動(dòng)的情景。
進(jìn)一步的,如圖3所示,移動(dòng)單元24,包括:
調(diào)用模塊241,用于若目標(biāo)位置為其它webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置,則調(diào)用JS腳本,以使光標(biāo)直接移動(dòng)至其它webview中的目標(biāo)位置,JS腳本為使光標(biāo)跨越不同的webview進(jìn)行移動(dòng)的程序。
本實(shí)施例中調(diào)用的JS腳本是菜單項(xiàng)所在的webview對(duì)應(yīng)的網(wǎng)頁(yè)程序中的腳本,它由應(yīng)用層中的調(diào)用程序控制,當(dāng)目標(biāo)位置為其他webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置時(shí),則觸發(fā)應(yīng)用層中的調(diào)用程序,然后進(jìn)一步的啟動(dòng)調(diào)用JS腳本,將光標(biāo)的控制權(quán)(移動(dòng)權(quán))下發(fā)給其他的webview,實(shí)現(xiàn)光標(biāo)跨越不同的webview,并在其他的webview中繼續(xù)移動(dòng)。
移動(dòng)模塊242,用于若目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置,則直接按照菜單項(xiàng)對(duì)應(yīng)的webview內(nèi)定義的方向移動(dòng)光標(biāo)。
需要說(shuō)明的是每個(gè)webview內(nèi)都有已經(jīng)定義的可以直接進(jìn)行移動(dòng)的方向,具體的定義的方向是根據(jù)不同的webview中菜單項(xiàng)的位置排列提前設(shè)定的。只要不超出菜單選項(xiàng)所在的webview內(nèi),則可以直接使用已經(jīng)定義的方向移動(dòng)光標(biāo)。
進(jìn)一步的,如圖3所示,裝置進(jìn)一步包括:
判斷單元25,用于在調(diào)用JS腳本之前,判斷移動(dòng)指令的移動(dòng)方向。
進(jìn)一步的,調(diào)用模塊241用于:
調(diào)用與移動(dòng)方向?qū)?yīng)的JS腳本。
同一個(gè)菜單項(xiàng)可能與多個(gè)方向上的其它webview中的菜單項(xiàng)相鄰,因此為了調(diào)用JS腳本的方便和快速性,對(duì)于不同的方向上的其它webview設(shè)置有不同的JS腳本。所以在調(diào)用JS腳本之前,需要判斷移動(dòng)指令的移動(dòng)方向,然后根據(jù)移動(dòng)指令的移動(dòng)方向確定其它webview中對(duì)應(yīng)的一個(gè)webview,進(jìn)而調(diào)用該方向上webview對(duì)應(yīng)的JS腳本,實(shí)現(xiàn)光標(biāo)依據(jù)不同的JS腳本直接跨越至對(duì)應(yīng)不同方向的其它webview中。
進(jìn)一步的,如圖3所示,裝置進(jìn)一步包括:
觸發(fā)單元26,用于在調(diào)用JS腳本之前,觸發(fā)應(yīng)用層中的調(diào)用程序,調(diào)用程序?yàn)閱?dòng)JS腳本調(diào)用的程序。
本發(fā)明實(shí)施例提供的菜單項(xiàng)切換的裝置,能夠首先獲取光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置,菜單項(xiàng)位于對(duì)應(yīng)的網(wǎng)絡(luò)視圖webview中,每個(gè)webview對(duì)應(yīng)一個(gè)線程或一個(gè)進(jìn)程;其次,接收移動(dòng)指令,移動(dòng)指令為控制光標(biāo)移動(dòng)的指令;然后根據(jù)光標(biāo)當(dāng)前所處菜單項(xiàng)的位置和移動(dòng)指令確定光標(biāo)的目標(biāo)位置,該目標(biāo)位置為菜單項(xiàng)對(duì)應(yīng)的webview中或其它webview中與該菜單項(xiàng)相鄰的菜單項(xiàng)的位置;最后將光標(biāo)直接移動(dòng)至目標(biāo)位置。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)光標(biāo)當(dāng)前所處的菜單項(xiàng)的位置以及移動(dòng)指令,確定光標(biāo)移動(dòng)的目標(biāo)位置,該目標(biāo)位置不僅包括菜單項(xiàng)對(duì)應(yīng)的webview中與菜單項(xiàng)相鄰的菜單項(xiàng)的位置,還包括其它webview中與當(dāng)前光標(biāo)所處的菜單項(xiàng)相鄰的菜單項(xiàng)的位置。因此可以實(shí)現(xiàn)使用戶(hù)在使用智能電視時(shí)通過(guò)控制光標(biāo)的移動(dòng)不僅可以在同一webview即同一個(gè)菜單內(nèi)直接進(jìn)行相鄰菜單項(xiàng)的切換,而且可以在不同的webview對(duì)應(yīng)不同的菜單之間直接進(jìn)行相鄰菜單項(xiàng)的切換。
示意性的,如圖4是本發(fā)明實(shí)施例提供的一種菜單項(xiàng)切換的方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖,如圖4所示,該電子設(shè)備包括:
一個(gè)或多個(gè)處理器41以及存儲(chǔ)器42,圖4中以一個(gè)處理器41為例。
菜單項(xiàng)切換的方法的電子設(shè)備還可以包括:輸入裝置43和輸出裝置44。
處理器41、存儲(chǔ)器42、輸入裝置43和輸出裝置44可以通過(guò)總線或者其他方式連接,圖4中以通過(guò)總線連接為例。
存儲(chǔ)器42作為一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非易失性軟件程序、非易失性計(jì)算機(jī)可執(zhí)行程序以及模塊,如本發(fā)明實(shí)施例中的菜單項(xiàng)切換的方法對(duì)應(yīng)的程序指令/模塊(例如,附圖2所示的獲取單元21、接收單元22、確定單元23以及移動(dòng)單元24)。處理器41通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器42中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例菜單項(xiàng)切換的方法。
存儲(chǔ)器42可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)菜單項(xiàng)切換的裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器42可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器42可選包括相對(duì)于處理器41遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至列表項(xiàng)操作的處理裝置。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
輸入裝置43可接收輸入的數(shù)字或字符信息,以及產(chǎn)生與菜單項(xiàng)切換的裝置的用戶(hù)設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。輸出裝置44可包括顯示屏等顯示設(shè)備。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器42中,當(dāng)被所述一個(gè)或者多個(gè)處理器41執(zhí)行時(shí),執(zhí)行上述任意方法實(shí)施例中的菜單項(xiàng)切換的方法。
上述產(chǎn)品可執(zhí)行本發(fā)明實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見(jiàn)本發(fā)明實(shí)施例所提供的方法。
本發(fā)明實(shí)施例的電子設(shè)備以多種形式存在,包括但不限于:
(1)移動(dòng)通信設(shè)備:這類(lèi)設(shè)備的特點(diǎn)是具備移動(dòng)通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類(lèi)終端包括:智能手機(jī)(例如iPhone)、多媒體手機(jī)、功能性手機(jī),以及低端手機(jī)等。
(2)超移動(dòng)個(gè)人計(jì)算機(jī)設(shè)備:這類(lèi)設(shè)備屬于個(gè)人計(jì)算機(jī)的范疇,有計(jì)算和處理功能,一般也具備移動(dòng)上網(wǎng)特性。這類(lèi)終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。
(3)便攜式娛樂(lè)設(shè)備:這類(lèi)設(shè)備可以顯示和播放多媒體內(nèi)容。該類(lèi)設(shè)備包括:音頻、視頻播放器(例如iPod),掌上游戲機(jī),電子書(shū),以及智能玩具和便攜式車(chē)載導(dǎo)航設(shè)備。
(4)服務(wù)器:提供計(jì)算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤(pán)、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計(jì)算機(jī)架構(gòu)類(lèi)似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。
(5)其他具有數(shù)據(jù)交互功能的電子裝置。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。