本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種混合應(yīng)用的實(shí)現(xiàn)方法及裝置。
背景技術(shù):
應(yīng)用存在三種形態(tài):本地(Native)應(yīng)用、網(wǎng)頁(yè)(Web)應(yīng)用和混合(Hybrid)應(yīng)用。Native應(yīng)用指的是用平臺(tái)特定的開(kāi)發(fā)語(yǔ)言(即,本地程序語(yǔ)言)所開(kāi)發(fā)的應(yīng)用;Web應(yīng)用主要是采用Java腳本(JavaScript)等網(wǎng)頁(yè)程序語(yǔ)言開(kāi)發(fā)的應(yīng)用;混合應(yīng)用是指融合Native應(yīng)用和Web應(yīng)用的應(yīng)用。
在混合應(yīng)用中,存在網(wǎng)頁(yè)程序需要借助本地程序獲得特定信息的場(chǎng)景,例如某一Web頁(yè)面需要獲取手機(jī)的定位信息,而手機(jī)的定位信息是由本地程序獲得的;因此,網(wǎng)頁(yè)程序需要向本地程序發(fā)送用于指示本地程序向網(wǎng)頁(yè)程序的該Web頁(yè)面返回特定信息的消息。現(xiàn)有技術(shù)中,網(wǎng)頁(yè)程序與本地程序通信時(shí),網(wǎng)頁(yè)程序向本地程序發(fā)送的該消息中,包括第一統(tǒng)一資源定位符(URL,Uniform Resoure Locator),該第一URL的目的是為了標(biāo)示出該消息對(duì)應(yīng)的是哪一個(gè)Web頁(yè)面;本地程序在收到該消息后,需要通過(guò)查找URL與Web頁(yè)面的對(duì)應(yīng)關(guān)系,確定該第一URL對(duì)應(yīng)第一Web頁(yè)面。
但是,現(xiàn)有技術(shù)中,存在本地程序在確定Web線程發(fā)送的消息對(duì)應(yīng)的Web頁(yè)面時(shí),操作復(fù)雜的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種混合應(yīng)用的實(shí)現(xiàn)方法及裝置,用以解決現(xiàn)有技術(shù)中本地程序在確定Web線程發(fā)送的消息對(duì)應(yīng)的Web頁(yè)面時(shí),操作復(fù)雜的問(wèn)題。
本發(fā)明提供一種混合應(yīng)用的實(shí)現(xiàn)方法,包括:
確定網(wǎng)頁(yè)程序需要與本地程序通信;
所述網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所 述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容;
所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面,確定與所述通信內(nèi)容對(duì)應(yīng)的所述Web頁(yè)面。
在本發(fā)明的一實(shí)施例中,所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容之前,還包括:
所述混合應(yīng)用所在設(shè)備的操作系統(tǒng)檢測(cè)到所述Web頁(yè)面上的IFrame對(duì)象添加事件;
所述操作系統(tǒng)調(diào)用所述IFrame對(duì)象添加事件對(duì)應(yīng)的所述本地程序的回調(diào)函數(shù)向所述本地程序發(fā)送通信觸發(fā)消息。
在本發(fā)明的一實(shí)施例中,所述操作系統(tǒng)調(diào)用所述IFrame對(duì)象添加事件對(duì)應(yīng)的所述本地程序的回調(diào)函數(shù)向所述本地程序發(fā)送通信觸發(fā)消息之前,還包括:
所述本地程序向所述操作系統(tǒng)注冊(cè)所述回調(diào)函數(shù)。
在本發(fā)明的一實(shí)施例中,所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容之后,還包括:
所述網(wǎng)頁(yè)程序從所述Web頁(yè)面中移除所述IFrame對(duì)象。
在本發(fā)明的一實(shí)施例中,所述網(wǎng)頁(yè)程序從所述Web頁(yè)面中移除所述IFrame對(duì)象之后,還包括:
所述網(wǎng)頁(yè)程序?qū)⑺鯥Frame對(duì)象的內(nèi)存中存儲(chǔ)的內(nèi)容設(shè)置為空NULL。
在本發(fā)明的一實(shí)施例中,所述網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象之后,還包括:
設(shè)置所述IFrame對(duì)象的長(zhǎng)、寬和/或邊框?qū)傩?,使所述IFrame對(duì)象在所述Web頁(yè)面中不可見(jiàn)。
本發(fā)明提供一種混合應(yīng)用的實(shí)現(xiàn)裝置,包括:網(wǎng)頁(yè)程序模塊和本地程序模塊;其中,
所述網(wǎng)頁(yè)程序模塊,用于確定網(wǎng)頁(yè)程序需要與本地程序通信;
所述網(wǎng)頁(yè)程序模塊,還用于在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容;
所述本地程序模塊,用于從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根 據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面,確定與所述通信內(nèi)容對(duì)應(yīng)的所述Web頁(yè)面。
在本發(fā)明的一實(shí)施例中,所述裝置還包括:所述混合應(yīng)用所在設(shè)備的操作系統(tǒng)模塊;
所述操作系統(tǒng)模塊,用于檢測(cè)到所述Web頁(yè)面上的IFrame對(duì)象添加事件;
所述操作系統(tǒng)模塊,還用于調(diào)用所述IFrame對(duì)象添加事件對(duì)應(yīng)的所述本地程序模塊的回調(diào)函數(shù)向所述本地程序模塊發(fā)送通信觸發(fā)消息。
在本發(fā)明的一實(shí)施例中,所述本地程序模塊,還用于向所述操作系統(tǒng)模塊注冊(cè)所述回調(diào)函數(shù)。
在本發(fā)明的一實(shí)施例中,所述網(wǎng)頁(yè)程序模塊,還用于從所述Web頁(yè)面中移除所述IFrame對(duì)象。
在本發(fā)明的一實(shí)施例中,所述網(wǎng)頁(yè)程序模塊,還用于將所述IFrame對(duì)象的內(nèi)存中存儲(chǔ)的內(nèi)容設(shè)置為空NULL。
在本發(fā)明的一實(shí)施例中,所述裝置還包括:隱藏模塊,用于設(shè)置所述IFrame對(duì)象的長(zhǎng)、寬和/或邊框?qū)傩?,使所述IFrame對(duì)象在所述Web頁(yè)面中不可見(jiàn)。
本發(fā)明提供一種混合應(yīng)用的實(shí)現(xiàn)方法及裝置;通過(guò)確定網(wǎng)頁(yè)程序需要與本地程序通信時(shí),網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容;所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面確定所述通信內(nèi)容與所述Web頁(yè)面對(duì)應(yīng);使得本地程序可以根據(jù)IFrame對(duì)象所屬的Web頁(yè)面,確定通過(guò)該IFrame對(duì)象所傳遞的通信內(nèi)容所對(duì)應(yīng)的Web頁(yè)面;與本地程序在收到該消息后,需要通過(guò)查找URL與Web頁(yè)面的對(duì)應(yīng)關(guān)系,確定一URL對(duì)應(yīng)的Web頁(yè)面相比,不再需要通過(guò)查找URL與Web頁(yè)面的對(duì)應(yīng)關(guān)系來(lái)確定一URL對(duì)應(yīng)的Web頁(yè)面,操作簡(jiǎn)單。
附圖說(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ā)明混合應(yīng)用的實(shí)現(xiàn)方法實(shí)施例一的流程圖;
圖2為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)方法實(shí)施例二的流程圖;
圖3為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)方法實(shí)施例三的流程圖;
圖4為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)裝置實(shí)施例一的結(jié)構(gòu)示意圖;
圖5為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)裝置實(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ù)的范圍。
圖1為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)方法實(shí)施例一的流程圖,如圖1所示,本實(shí)施例的方法可以包括:
步驟101、確定網(wǎng)頁(yè)程序需要與本地程序通信;
可選的,所述網(wǎng)頁(yè)程序可以為由網(wǎng)頁(yè)程序語(yǔ)言(例如,Java腳本(JavaScript))編寫(xiě)的程序;所述本地程序可以為由本地程序語(yǔ)言(例如,Objective-C(ObjC))編寫(xiě)的程序。
步驟102、所述網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容;
其中,所述IFrame對(duì)象為超文本標(biāo)記語(yǔ)言(HTML,Hyper Text Mark-up Language)的標(biāo)簽。
步驟103、所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面,確定與所述通信內(nèi)容對(duì)應(yīng)的所述Web頁(yè)面。
本實(shí)施例中,通過(guò)確定網(wǎng)頁(yè)程序需要與本地程序通信時(shí),網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容;所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根 據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面確定所述通信內(nèi)容與所述Web頁(yè)面對(duì)應(yīng);使得本地程序可以根據(jù)IFrame對(duì)象所屬的Web頁(yè)面,確定通過(guò)該IFrame對(duì)象所傳遞的通信內(nèi)容所對(duì)應(yīng)的Web頁(yè)面;與本地程序在收到該消息后,需要通過(guò)查找URL與Web頁(yè)面的對(duì)應(yīng)關(guān)系,確定一URL對(duì)應(yīng)的Web頁(yè)面相比,不再需要通過(guò)查找URL與Web頁(yè)面的對(duì)應(yīng)關(guān)系來(lái)確定一URL對(duì)應(yīng)的Web頁(yè)面,操作簡(jiǎn)單。
圖2為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)方法實(shí)施例二的流程圖,如圖2所示,本實(shí)施例的方法可以包括:
步驟201、確定網(wǎng)頁(yè)程序需要與本地程序通信;
步驟202、所述網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容;
可選的,所述網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象之后,還可以包括:所述網(wǎng)頁(yè)程序設(shè)置所述IFrame對(duì)象的長(zhǎng)、寬和/或邊框?qū)傩?,使所述IFrame對(duì)象在所述Web頁(yè)面中不可見(jiàn)。例如,可以通過(guò)將IFrame對(duì)象的height屬性設(shè)置為0,width屬性設(shè)置為0及frameborder屬性設(shè)置為0的方式,將所述IFrame對(duì)象設(shè)置為不可見(jiàn)的IFrame對(duì)象。
可選的,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容,包括:所述網(wǎng)頁(yè)程序?qū)⑺鐾ㄐ艃?nèi)容設(shè)置為所述IFrame對(duì)象的屬性(例如,SRC屬性)。
需要說(shuō)明的是,所述Web頁(yè)面為所述通信內(nèi)容相關(guān)的Web頁(yè)面。
步驟203、所述混合應(yīng)用所在設(shè)備的操作系統(tǒng)檢測(cè)到所述Web頁(yè)面上的IFrame對(duì)象添加事件;
其中,所述操作系統(tǒng)例如可以為iOS操作系統(tǒng)、安卓(Android)操作系統(tǒng)等。
步驟204、所述操作系統(tǒng)調(diào)用所述IFrame對(duì)象添加事件對(duì)應(yīng)的所述本地程序的回調(diào)函數(shù)向所述本地程序發(fā)送通信觸發(fā)消息;
可選的,步驟204之前還可以包括:所述本地程序向所述操作系統(tǒng)注冊(cè)所述回調(diào)函數(shù)。
步驟205、所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面,確定與所述通信內(nèi)容對(duì)應(yīng)的所述 Web頁(yè)面;
可選的,當(dāng)所述本地程序確定所述通信內(nèi)容對(duì)應(yīng)的Web頁(yè)面后,所述本地程序可以將根據(jù)所述通信內(nèi)容進(jìn)行處理得到的處理結(jié)果,根據(jù)所述通信內(nèi)容對(duì)應(yīng)的所述Web頁(yè)面返回給所述網(wǎng)頁(yè)程序。
步驟206、所述網(wǎng)頁(yè)程序從所述Web頁(yè)面中移除所述IFrame對(duì)象;
可選的,所述網(wǎng)頁(yè)程序可以調(diào)用removeChild()方法,來(lái)移除所述IFrame對(duì)象。
需要說(shuō)明的是,通過(guò)步驟206使得用于網(wǎng)頁(yè)程序與本地程序之間通信的IFrame對(duì)象,在通信完成后能夠及時(shí)的被移除,目的是為了防止內(nèi)存泄露。
需要說(shuō)明的是,步驟206與步驟203-步驟205之間并沒(méi)有先后順序的限制。也即,在步驟202將IFrame對(duì)象添加至Web頁(yè)面之后便可以將該IFrame對(duì)象移除。
步驟207、所述網(wǎng)頁(yè)程序?qū)⑺鯥Frame對(duì)象的內(nèi)存中存儲(chǔ)的內(nèi)容設(shè)置為空(NULL)。
需要說(shuō)明的是,步驟207的目的是為了防止內(nèi)存泄露。
本實(shí)施例中,通過(guò)確定網(wǎng)頁(yè)程序需要與本地程序通信;所述網(wǎng)頁(yè)程序在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序與所述本地程序的通信內(nèi)容;所述混合應(yīng)用所在設(shè)備的操作系統(tǒng)檢測(cè)到所述Web頁(yè)面上的IFrame對(duì)象添加事件;所述操作系統(tǒng)調(diào)用所述IFrame對(duì)象添加事件對(duì)應(yīng)的所述本地程序的回調(diào)函數(shù)向所述本地程序發(fā)送通信觸發(fā)消息;所述本地程序從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面確定所述通信內(nèi)容與所述Web頁(yè)面對(duì)應(yīng);使得本地程序可以根據(jù)IFrame對(duì)象所屬的Web頁(yè)面,確定通過(guò)該IFrame對(duì)象所傳遞的通信內(nèi)容所對(duì)應(yīng)的Web頁(yè)面,操作簡(jiǎn)單。同時(shí),通過(guò)不需要再在棧中存儲(chǔ)URL與Web頁(yè)面的對(duì)應(yīng)關(guān)系,也減少了內(nèi)存的占用。
圖3為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)方法實(shí)施例三的流程圖;需要說(shuō)明的是,本實(shí)施例為通過(guò)IFrame對(duì)象的SRC屬性傳遞通信內(nèi)容的一具體的舉例;如圖3所示,本實(shí)施例的方法可以包括:
步驟301、網(wǎng)頁(yè)程序在Web頁(yè)面中,添加IFrame對(duì)象;
可選的,步驟301之后還可以包括:所述網(wǎng)頁(yè)程序?qū)⑺鯥Frame對(duì) 象的SRC屬性初始化為“about:blank”。
步驟302、所述網(wǎng)頁(yè)程序基于預(yù)設(shè)格式對(duì)所述網(wǎng)頁(yè)程序與本地程序之間的通信內(nèi)容進(jìn)行打包,生成第一信息;
需要說(shuō)明的是,通信內(nèi)容大多為結(jié)構(gòu)體,可以通過(guò)預(yù)設(shè)格式(例如,Java腳本對(duì)象表示法(JSON)格式)將結(jié)構(gòu)體形式的通信內(nèi)容轉(zhuǎn)換為預(yù)設(shè)格式進(jìn)行表達(dá),從而獲得第一信息。
例如,所述通信內(nèi)容為{“name”:”u58”,”password”:”p58”},通過(guò)JSON格式轉(zhuǎn)換后獲得的第一信息為:
步驟303、所述網(wǎng)頁(yè)程序在所述第一信息前增加協(xié)議頭,生成第二信息;
其中,所述協(xié)議頭用于標(biāo)示所述第二信息為所述網(wǎng)頁(yè)程序與所述本地程序通信的信息。所述協(xié)議頭例如可以為“wubaMain://”。
例如,若第一信息為json:{"action":"login","object":{"username":"b","password":"d"}};協(xié)議頭為wubaMain://;則在第一信息之前增加協(xié)議頭后獲得的第二信息為wubaMain://json:{"action":"login","object":{"username":"b","password":"d"。
步驟304、所述網(wǎng)頁(yè)程序?qū)⑺龅诙畔⒃O(shè)置為所述IFrame對(duì)象的SRC屬性;
需要說(shuō)明的是,若所述SRC的數(shù)據(jù)類型為字符串,則需要將所述第二信息轉(zhuǎn)換為字符串后,將轉(zhuǎn)換后的結(jié)果設(shè)置為SRC的屬性。
步驟305、所述本地程序從所述IFrame對(duì)象的所述SRC屬性中獲取所述第二信息;
可選的,所述本地程序可以通過(guò)回調(diào)函數(shù)shouldStartLoadWithRequest獲取通信觸發(fā)消息,并進(jìn)一步獲取所述第二信息。
步驟306、所述本地程序根據(jù)所述第二信息中的所述協(xié)議頭,判斷所述第二信息是否為所述網(wǎng)頁(yè)程序與所述本地程序通信的信息;
若是,則執(zhí)行步驟307;否則,結(jié)束。
步驟307:所述本地程序在所述第二信息中去掉所述協(xié)議頭,獲得所述第一信息;
步驟308、所述本地程序基于預(yù)設(shè)格式對(duì)所述第一信息進(jìn)行解包,獲得所述通信內(nèi)容。
圖4為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)裝置實(shí)施例一的結(jié)構(gòu)示意圖;如圖4所示,本實(shí)施例的裝置可以包括:網(wǎng)頁(yè)程序模塊401和本地程序模塊402;其中,網(wǎng)頁(yè)程序模塊401,用于確定網(wǎng)頁(yè)程序需要與本地程序通信;網(wǎng)頁(yè)程序模塊401,還用于在Web頁(yè)面中添加IFrame對(duì)象,所述IFrame對(duì)象包括所述網(wǎng)頁(yè)程序模塊與所述本地程序模塊的通信內(nèi)容;本地程序模塊402,用于從所述IFrame對(duì)象中獲取所述通信內(nèi)容,并根據(jù)所述IFrame對(duì)象所屬的所述Web頁(yè)面,確定與所述通信內(nèi)容對(duì)應(yīng)的所述Web頁(yè)面。
本實(shí)施例的裝置,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖5為本發(fā)明混合應(yīng)用的實(shí)現(xiàn)裝置實(shí)施例二的結(jié)構(gòu)示意圖;如圖5所示,本實(shí)施例的裝置在圖4所示裝置的結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步的還可以包括:所述混合應(yīng)用所在設(shè)備的操作系統(tǒng)模塊403;操作系統(tǒng)模塊403,用于檢測(cè)到所述Web頁(yè)面上的IFrame對(duì)象添加事件;操作系統(tǒng)模塊403,還用于調(diào)用所述IFrame對(duì)象添加事件對(duì)應(yīng)的本地程序模塊402的回調(diào)函數(shù)向本地程序模塊402發(fā)送通信觸發(fā)消息。
可選的,本地程序模塊402,還用于向操作系統(tǒng)模塊403注冊(cè)所述回調(diào)函數(shù)。
可選的,網(wǎng)頁(yè)程序模塊401,還用于從所述Web頁(yè)面中移除所述IFrame對(duì)象。
可選的,網(wǎng)頁(yè)程序模塊401,還用于將所述IFrame對(duì)象的內(nèi)存中存儲(chǔ)的內(nèi)容設(shè)置為空NULL。
可選的,本實(shí)施例的裝置還可以包括:隱藏模塊404,用于設(shè)置所述IFrame對(duì)象的長(zhǎng)、寬和/或邊框?qū)傩?,使所述IFrame對(duì)象在所述Web頁(yè)面中不可見(jiàn)。
本實(shí)施例的裝置,可以用于執(zhí)行圖1或圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(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ù)方案的范圍。