两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

反向控制移動(dòng)端頁(yè)面的方法和裝置的制造方法

文檔序號(hào):10552682閱讀:522來(lái)源:國(guó)知局
反向控制移動(dòng)端頁(yè)面的方法和裝置的制造方法
【專利摘要】本發(fā)明提出一種反向控制移動(dòng)端頁(yè)面的方法和裝置,該反向控制移動(dòng)端頁(yè)面的方法包括:接收其他終端發(fā)送的用于反向控制的觸摸事件;根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,以及確定出待反向控制的元素;如果所述元素是HTML頁(yè)面中的元素,根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),以使所述元素根據(jù)所述HTML參數(shù)進(jìn)行處理以響應(yīng)所述手勢(shì)事件。該方法能夠避開(kāi)移動(dòng)端操作系統(tǒng)對(duì)接口使用的限制,方便的實(shí)現(xiàn)對(duì)移動(dòng)端頁(yè)面的反向控制。
【專利說(shuō)明】
反向控制移動(dòng)端頁(yè)面的方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種反向控制移動(dòng)端頁(yè)面的方法和裝置。
【背景技術(shù)】
[0002]在手機(jī)與車機(jī)的互聯(lián)方案中,經(jīng)常采用投影手機(jī)端界面到車機(jī)顯示器的聯(lián)機(jī)方案,此時(shí)用戶在車機(jī)端進(jìn)行的操作會(huì)同步傳輸?shù)绞謾C(jī)端,手機(jī)端接收到操作主動(dòng)觸發(fā)相關(guān)頁(yè)面元素的綁定行為。
[0003]手機(jī)端顯示的應(yīng)用程序的頁(yè)面是超文本標(biāo)記語(yǔ)言(HyperText Markup Language,HTML)頁(yè)面時(shí),由于HTML頁(yè)面在很多情況下都是通過(guò)網(wǎng)絡(luò)動(dòng)態(tài)加載,并且HTML5頁(yè)面的上下文環(huán)境與應(yīng)用程序的代碼運(yùn)行的上下文環(huán)境是相互獨(dú)立的,所以需要有一套完善的機(jī)制來(lái)實(shí)現(xiàn)車機(jī)對(duì)手機(jī)端的HTML頁(yè)面的反向控制。
[0004]相關(guān)技術(shù)中,通過(guò)使用手機(jī)系統(tǒng)底層事件接口模擬產(chǎn)生相關(guān)事件,從而在系統(tǒng)層面將事件傳遞給頁(yè)面元素,從而觸發(fā)頁(yè)面元素的綁定行為。但是,現(xiàn)有的手機(jī)操作系統(tǒng)都限制了接口的使用,比如,在1S系統(tǒng)中需要審核,在android系統(tǒng)中需要具有root權(quán)限。因此,通過(guò)手機(jī)系統(tǒng)底層事件接口實(shí)現(xiàn)的反向控制在應(yīng)用上并不方便。

【發(fā)明內(nèi)容】

[0005]本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。
[0006]為此,本發(fā)明的一個(gè)目的在于提出一種反向控制移動(dòng)端頁(yè)面的方法,該方法可以避開(kāi)移動(dòng)端操作系統(tǒng)對(duì)接口使用的限制,方便的實(shí)現(xiàn)對(duì)移動(dòng)端頁(yè)面的反向控制。
[0007]本發(fā)明的另一個(gè)目的在于提出一種反向控制移動(dòng)端頁(yè)面的裝置。
[0008]為達(dá)到上述目的,本發(fā)明第一方面實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的方法,包括:接收其他終端發(fā)送的用于反向控制的觸摸事件;根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,以及確定出待反向控制的元素;如果所述元素是HTML頁(yè)面中的元素,根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),以使所述元素根據(jù)所述HTML參數(shù)進(jìn)行處理以響應(yīng)所述手勢(shì)事件。
[0009]本發(fā)明第一方面實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的方法,通過(guò)在待反向控制的元素是HTML頁(yè)面中的元素時(shí),根據(jù)手勢(shì)事件為元素配置HTML參數(shù),可以使得元素根據(jù)配置的HTML參數(shù)進(jìn)行處理以響應(yīng)手勢(shì)事件,從而實(shí)現(xiàn)對(duì)HTML頁(yè)面中元素的反向控制,并且該反向控制流程沒(méi)有調(diào)用操作系統(tǒng)的接口,因此可以避開(kāi)移動(dòng)端操作系統(tǒng)對(duì)接口使用的限制,方便的實(shí)現(xiàn)對(duì)移動(dòng)端頁(yè)面的反向控制。
[0010]為達(dá)到上述目的,本發(fā)明第二方面實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的裝置,包括:通信模塊,用于接收其他終端發(fā)送的用于反向控制的觸摸事件;手勢(shì)識(shí)別模塊,用于根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,以及確定出待反向控制的元素;轉(zhuǎn)換模塊,用于如果所述元素是HTML頁(yè)面中的元素,根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),以使所述元素根據(jù)所述HTML參數(shù)進(jìn)行處理以響應(yīng)所述手勢(shì)事件。
[0011]本發(fā)明第二方面實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的裝置,通過(guò)在待反向控制的元素是HTML頁(yè)面中的元素時(shí),根據(jù)手勢(shì)事件為元素配置HTML參數(shù),可以使得元素根據(jù)配置的HTML參數(shù)進(jìn)行處理以響應(yīng)手勢(shì)事件,從而實(shí)現(xiàn)對(duì)HTML頁(yè)面中元素的反向控制,并且該反向控制流程沒(méi)有調(diào)用操作系統(tǒng)的接口,因此可以避開(kāi)移動(dòng)端操作系統(tǒng)對(duì)接口使用的限制,方便的實(shí)現(xiàn)對(duì)移動(dòng)端頁(yè)面的反向控制。
[0012]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【附圖說(shuō)明】
[0013]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0014]圖1是本發(fā)明一個(gè)實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的方法的流程示意圖;
[0015]圖2是本發(fā)明另一個(gè)實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的方法的流程示意圖;
[0016]圖3是本發(fā)明實(shí)施例中單擊事件識(shí)別流程中接收到按下事件后的示意圖;
[0017]圖4是本發(fā)明實(shí)施例中單擊事件識(shí)別流程中接收到移動(dòng)事件后的示意圖;
[0018]圖5是本發(fā)明實(shí)施例中單擊事件識(shí)別流程中接收到松開(kāi)事件后的示意圖;
[0019]圖6是本發(fā)明實(shí)施例中雙擊事件識(shí)別流程示意圖;
[0020]圖7是本發(fā)明實(shí)施例中雙擊事件識(shí)別流程中接收到移動(dòng)事件后的示意圖;
[0021]圖8是本發(fā)明實(shí)施例中拖動(dòng)事件識(shí)別流程中接收到按下事件后的示意圖;
[0022]圖9是本發(fā)明實(shí)施例中拖動(dòng)事件識(shí)別流程中接收到移動(dòng)事件后的示意圖;
[0023]圖10是本發(fā)明實(shí)施例中拖動(dòng)事件識(shí)別流程中接收到松開(kāi)事件后的示意圖;
[0024]圖11是本發(fā)明一個(gè)實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的裝置的結(jié)構(gòu)示意圖;
[0025]圖12是本發(fā)明另一個(gè)實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的模塊或具有相同或類似功能的模塊。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0027]圖1是本發(fā)明一個(gè)實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的方法的流程示意圖。本實(shí)施例的方法可以應(yīng)用在移動(dòng)端。
[0028]參見(jiàn)圖1,本實(shí)施例的方法包括:
[0029]Sll:接收其他終端發(fā)送的用于反向控制的觸摸事件。
[0030]其他終端是指與移動(dòng)端進(jìn)行聯(lián)網(wǎng)的對(duì)端。例如,在手機(jī)和車機(jī)的聯(lián)網(wǎng)方案中,移動(dòng)端是指手機(jī),其他終端是指車機(jī)。
[0031]在車機(jī)端需要反向控制手機(jī)端時(shí),車機(jī)可以向手機(jī)發(fā)送反向控制的事件,該事件是應(yīng)用程序的原生事件,具體是觸摸事件。
[0032]觸摸事件包括:按下事件、移動(dòng)事件和松開(kāi)事件。
[0033]每種觸摸事件可以包括相應(yīng)的參數(shù)。一些具體示例中,每種觸摸事件的表示及包括的參數(shù)可以如下所示:
[0034]第一種觸摸事件:按下事件:NATIVE_EVENT_T0UCH_D0ffN
[0035](a)參數(shù)locat1n表示按下位置坐標(biāo)(x,y);
[0036](b)參數(shù)points表示觸控點(diǎn)數(shù)量(單指/雙指/多指);
[0037](c)參數(shù)timestamp表示發(fā)生時(shí)間。
[0038]第二種觸摸事件:移動(dòng)事件:NATIVE_EVENT_T0UCH_M0VE
[0039](a)參數(shù)locat1n表示移動(dòng)到的位置坐標(biāo)(x,y);
[0040](b)參數(shù)points表示觸控點(diǎn)數(shù)量(單指/雙指/多指);
[0041 ](c)參數(shù)timestamp表示發(fā)生時(shí)間。
[0042]第三種觸摸事件:松開(kāi)事件:NATIVE_EVENT_T0UCH_UP
[0043]S12:根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,以及確定出待反向控制的元素。
[0044]其中,手勢(shì)事件是用于觸發(fā)元素響應(yīng)的事件。
[0045]手勢(shì)事件包括:單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件。
[0046]每種手勢(shì)事件可以包括相應(yīng)的參數(shù)。一些具體示例中,每種手勢(shì)事件的表示及包括的參數(shù)可以如下所示:
[0047]第一種手勢(shì)事件:單擊事件:H5_EVENT_TYPE_CLICK
[0048](a)參數(shù)locat1n表示單擊坐標(biāo)(x,y);
[0049](b)參數(shù)points表示觸控點(diǎn)數(shù)量(單指/雙指/多指);
[0050](c)參數(shù)timestamp表示發(fā)生時(shí)間。
[0051 ]第二種手勢(shì)事件:雙擊事件:H5_EVENT_TYPE_D0UBLECLICK
[0052](a)參數(shù)locat1n表示雙擊位置坐標(biāo)(x,y);
[0053](b)參數(shù)points表示觸控點(diǎn)數(shù)量(單指/雙指/多指)
[0054](c)參數(shù)timestamp表示發(fā)生時(shí)間。
[0055]第三種手勢(shì)事件:長(zhǎng)按事件:H5_EVENT_TYPE_L0NGPRESS
[0056](a)參數(shù)locat1n表示長(zhǎng)按位置坐標(biāo)(x,y);
[0057](b)參數(shù)points表示觸控點(diǎn)數(shù)量(單指/雙指/多指);
[0058](c)參數(shù)timestamp表示發(fā)生時(shí)間。
[0059]第四種手勢(shì)事件:拖動(dòng)事件:H5_EVENT_TYPE_DRAG
[0060](a)參數(shù)locat1n表示拖動(dòng)到位置坐標(biāo)(x,y);
[0061 ](b)參數(shù)points表示觸控點(diǎn)數(shù)量(單指/雙指/多指);
[0062](c)參數(shù)timestamp表示發(fā)生時(shí)間。
[0063]在手勢(shì)事件識(shí)別時(shí),手勢(shì)事件的上述參數(shù)可以根據(jù)對(duì)應(yīng)的觸摸事件的參數(shù)獲取,例如,單擊事件的位置坐標(biāo)、發(fā)生時(shí)間分別與按下事件的位置坐標(biāo)、按下時(shí)間相同。在確定出手勢(shì)事件的位置坐標(biāo)后,可以將該位置坐標(biāo)對(duì)應(yīng)的元素確定為待反向控制的元素。
[0064]根據(jù)觸摸事件識(shí)別出手勢(shì)事件的具體流程可以參見(jiàn)后續(xù)描述。
[0065]S13:如果所述元素是HTML頁(yè)面中的元素,根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),以使所述元素根據(jù)所述HTML參數(shù)進(jìn)行處理以響應(yīng)所述手勢(shì)事件。
[0066]其中,HTML頁(yè)面可以具體是指HTML5頁(yè)面。
[0067]手勢(shì)事件的開(kāi)發(fā)語(yǔ)言與移動(dòng)端的操作系統(tǒng)一致。例如,如果操作系統(tǒng)是1S系統(tǒng),則手勢(shì)事件的語(yǔ)言是Ob jectC,如果操作系統(tǒng)是android系統(tǒng),則手勢(shì)事件的語(yǔ)言是java。而應(yīng)用程序加載的HTML頁(yè)面的開(kāi)發(fā)語(yǔ)言并不是原生語(yǔ)言,為了使得HTML頁(yè)面中的元素可以響應(yīng)手勢(shì)事件,需要根據(jù)手勢(shì)事件為HTML頁(yè)面中的元素配置HTML參數(shù),從而實(shí)現(xiàn)對(duì)HTML頁(yè)面中元素的反向控制。
[0068]根據(jù)單擊事件配置HTML參數(shù)的流程可以包括:
[0069]根據(jù)預(yù)先對(duì)HTML頁(yè)面中的元素的標(biāo)記信息,從單擊事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找類型是可控的元素,在查找到類型是可控的元素后,將該元素與HTML頁(yè)面中的點(diǎn)擊事件(click)綁定。
[0070]其中,元素的標(biāo)記信息可以是標(biāo)記元素的類型,類型可以分為可控和不可靠,可控的元素能夠響應(yīng)單擊事件,不可控的元素不能響應(yīng)單擊事件。
[0071]HTML頁(yè)面中的元素是DOM元素,DOM元素采用樹(shù)形結(jié)構(gòu)排布,從下至上是指按照樹(shù)形結(jié)構(gòu),從葉子元素到葉子元素的父元素再向根元素的方向進(jìn)行。
[0072 ]根據(jù)拖動(dòng)事件配置HTML參數(shù)的流程可以包括:
[0073]從拖動(dòng)事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找可滾動(dòng)的元素,在查找到可滾動(dòng)的元素后,判斷該元素是否還滿足如下條件中的任一項(xiàng):
[0074]第一項(xiàng)條件:該元素是頂層元素(body),且該元素的尺寸大于視圖尺寸;
[0075]第二項(xiàng)條件:該元素是除頂層元素之前的普通元素,且該元素的尺寸大于其父元素的尺寸。
[0076]如果該元素是可滾動(dòng)的元素,且還滿足上述任一項(xiàng)條件,則可以根據(jù)所述拖動(dòng)事件的移動(dòng)距離為所述元素配置HTML頁(yè)面中的滾動(dòng)參數(shù)。
[0077]其中,元素是否是可滾動(dòng)的元素,可以根據(jù)元素的可滾動(dòng)參數(shù)確定,HTML頁(yè)面中該可滾動(dòng)參數(shù)包括:overf 10¥或者0¥6忖10¥1和0¥6忖10¥1,如果overflow不是hidden,或者,overflow-x和overflow-y都不是hidden,貝Ij可以確定該元素是可滾動(dòng)的元素。
[0078]元素的尺寸、父元素的尺寸及視圖尺寸可以根據(jù)HTML頁(yè)面中的樣式信息等確定。
[0079]拖動(dòng)事件的移動(dòng)距離可以根據(jù)拖動(dòng)開(kāi)始事件的位置坐標(biāo)與拖動(dòng)結(jié)束事件的位置坐標(biāo)確定,將這兩個(gè)位置坐標(biāo)的差值作為移動(dòng)位置。
[0080]根據(jù)移動(dòng)距離設(shè)置的HTML頁(yè)面中的滾動(dòng)參數(shù)可以包括:scrollleft和scrolltop,其中,scrollleft用于確定橫向的移動(dòng)距離,scrolltop用于確定縱向的移動(dòng)距離。
[0081]由于反向控制中經(jīng)常使用的手勢(shì)事件是單擊事件和拖動(dòng)事件,上述給出了如何根據(jù)單擊事件和拖動(dòng)事件配置HTML參數(shù)的方法,可以理解的是,根據(jù)雙擊事件和長(zhǎng)按事件配置HTML參數(shù)的方式也可以參照?qǐng)?zhí)行,在此不再詳細(xì)說(shuō)明。
[0082]—些實(shí)施例中,如圖2所示,該方法還可以包括:
[0083]S14:判斷待反向控制的元素是否是HTML頁(yè)面中的元素,若是,執(zhí)行上述的S13,否貝1J,執(zhí)行SI 5。
[0084]其中,待反向控制的元素可以是HTML頁(yè)面中的元素,或者,也可以是應(yīng)用程序中可交互的原生控件,可交互的原生控件是指可以由手勢(shì)事件直接進(jìn)行控制的控件。
[0085]具體的,在手勢(shì)事件識(shí)別時(shí)確定出位置坐標(biāo)后,根據(jù)移動(dòng)端操作系統(tǒng)提供的方法可以確定該位置的原生控件及控件描述信息,如果根據(jù)控件描述信息確定該控件是瀏覽器控件(webview),則可以確定待反向控制的元素是HTML頁(yè)面中的元素,否則是可交互的原生控件。
[0086]S15:如果上述的元素是可交互的原生控件,則將識(shí)別出的手勢(shì)事件發(fā)送給可交互的原生控件,以使可交互的原生控件響應(yīng)手勢(shì)事件。
[0087]由于可交互的原生控件與手勢(shì)事件的語(yǔ)言一致,可以直接響應(yīng)手勢(shì)事件,從而完成對(duì)可交互的原生控件的反向控制。
[0088]在上述流程中,涉及了根據(jù)觸摸事件識(shí)別出手勢(shì)事件的流程,具體的該流程可以如下所示。
[0089]其中,在根據(jù)觸摸事件識(shí)別手勢(shì)事件的流程時(shí),可以是接收到觸摸事件后,同時(shí)啟動(dòng)對(duì)單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件的識(shí)別。
[0090]—些實(shí)施例中,在單擊事件識(shí)別時(shí),可以包括如下流程:
[0091 ]如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧;
[0092]如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于預(yù)設(shè)距離值,如果小于,則對(duì)移動(dòng)事件進(jìn)行事件入棧;
[0093]如果接收的觸摸事件是松開(kāi)事件,則在啟動(dòng)識(shí)別時(shí),判斷啟動(dòng)時(shí)間是否在預(yù)設(shè)范圍內(nèi),如果在預(yù)設(shè)范圍內(nèi),則識(shí)別出單擊事件。
[0094]上述的移動(dòng)距離可以根據(jù)棧內(nèi)的首個(gè)事件(按下事件)的位置坐標(biāo)與當(dāng)前事件(移動(dòng)事件)的位置坐標(biāo)確定,將這兩個(gè)位置坐標(biāo)的差值確定為移動(dòng)距離。
[0095]上述的啟動(dòng)時(shí)間可以根據(jù)棧內(nèi)的首個(gè)事件(按下事件)的發(fā)生時(shí)間與最后事件(按下事件或移動(dòng)事件)的發(fā)生時(shí)間確定,將這兩個(gè)時(shí)間的差值確定為啟動(dòng)時(shí)間。
[0096]上述的單擊事件識(shí)別過(guò)程中,接收到各觸摸事件的具體處理流程可以參見(jiàn)如下的實(shí)施例。
[0097]圖3是本發(fā)明實(shí)施例中單擊事件識(shí)別流程中接收到按下事件后的示意圖。參見(jiàn)圖3,該流程包括:
[0098]S31:接收到觸摸事件是按下事件。
[0099]S32:判斷識(shí)別是否已啟動(dòng),若是,執(zhí)行S33,否則,執(zhí)行S34。
[0100]其中,可以設(shè)置是否啟動(dòng)的標(biāo)識(shí),根據(jù)該標(biāo)識(shí)可以判斷識(shí)別是否已啟動(dòng)。
[0101]初始時(shí),可以設(shè)置該標(biāo)識(shí)為識(shí)別未啟動(dòng)的狀態(tài),當(dāng)啟動(dòng)識(shí)別后,將該標(biāo)識(shí)更新為識(shí)別已啟動(dòng)的狀態(tài)。
[0102]S33:結(jié)束識(shí)別。
[0103]S34:啟動(dòng)識(shí)別,并對(duì)按下事件進(jìn)行事件入棧。
[0104]在沒(méi)有啟動(dòng)識(shí)別時(shí),啟動(dòng)識(shí)別,并且,將按下事件放入棧內(nèi)。
[0105]在將事件放入棧內(nèi)時(shí),可以按序放入,從而在后續(xù)流程中可以識(shí)別出棧內(nèi)的首次事件和最后事件。
[0106]圖4是本發(fā)明實(shí)施例中單擊事件識(shí)別流程中接收到移動(dòng)事件后的示意圖。參見(jiàn)圖4,該流程包括:
[0107]S41:接收到觸摸事件是移動(dòng)事件。
[0108]S42:判斷識(shí)別是否已啟動(dòng),若是,執(zhí)行S43,否則,執(zhí)行S45。
[0109]其中,可以設(shè)置是否啟動(dòng)的標(biāo)識(shí),根據(jù)該標(biāo)識(shí)可以判斷識(shí)別是否已啟動(dòng)。
[0110]初始時(shí),可以設(shè)置該標(biāo)識(shí)為識(shí)別未啟動(dòng)的狀態(tài),當(dāng)啟動(dòng)識(shí)別后,將該標(biāo)識(shí)更新為識(shí)別已啟動(dòng)的狀態(tài)。
[0111]S43:判斷移動(dòng)距離是否小于第一預(yù)設(shè)距離值,若是,執(zhí)行S44,否則,執(zhí)行S45。
[0112]預(yù)設(shè)距離值可以根據(jù)經(jīng)驗(yàn)等設(shè)置。
[0113]S44:對(duì)所述移動(dòng)事件進(jìn)行事件入棧。
[0114]S45:結(jié)束識(shí)別。
[0115]圖5是本發(fā)明實(shí)施例中單擊事件識(shí)別流程中接收到松開(kāi)事件后的示意圖。參見(jiàn)圖5,該流程包括:
[0116]S51:接收到觸摸事件是松開(kāi)事件。
[0117]S52:判斷識(shí)別是否已啟動(dòng),若是,執(zhí)行S53,否則,執(zhí)行S55。
[0118]其中,可以設(shè)置是否啟動(dòng)的標(biāo)識(shí),根據(jù)該標(biāo)識(shí)可以判斷識(shí)別是否已啟動(dòng)。
[0119]初始時(shí),可以設(shè)置該標(biāo)識(shí)為識(shí)別未啟動(dòng)的狀態(tài),當(dāng)啟動(dòng)識(shí)別后,將該標(biāo)識(shí)更新為識(shí)別已啟動(dòng)的狀態(tài)。
[0120]S53:判斷啟動(dòng)時(shí)間是否在預(yù)設(shè)范圍內(nèi),若是,執(zhí)行S54,否則,執(zhí)行S55。
[0121]預(yù)設(shè)范圍可以根據(jù)經(jīng)驗(yàn)等設(shè)置。
[0122]S54:確定識(shí)別出單擊事件。
[0123]S55:結(jié)束識(shí)別。
[0124]—些實(shí)施例中,在雙擊事件識(shí)別時(shí),可以基于單擊事件的識(shí)別,包括如下流程。
[0125]圖6是本發(fā)明實(shí)施例中雙擊事件識(shí)別流程示意圖。參見(jiàn)圖6,該流程包括:
[0126]S61:識(shí)別出單擊事件。
[0127]其中,單擊事件的識(shí)別流程可以參見(jiàn)上述實(shí)施例,在此不再詳細(xì)說(shuō)明。
[0128]S62:判斷上次單擊事件的時(shí)間是否不為空,若是,執(zhí)行S63,否則,執(zhí)行S64。
[0129]其中,識(shí)別出的單擊事件可以是一個(gè)或多個(gè),如果為一個(gè)時(shí),上次單擊事件是指該一個(gè)單擊事件,如果為多個(gè),則可以確定每個(gè)單擊事件的發(fā)生時(shí)間,將距離當(dāng)前時(shí)間最近的單擊事件作為上次單擊事件。
[0130]初始時(shí),上次單擊事件的時(shí)間可以設(shè)置為空,后續(xù)可以根據(jù)情況更新。
[0131]S63:在不為空時(shí),計(jì)算當(dāng)前時(shí)間與上次單擊事件的時(shí)間之間的差值,并判斷該差值是否小于預(yù)設(shè)間隔,若是,執(zhí)行S65,否則執(zhí)行S64。
[0132]S64:在為空或者小于預(yù)設(shè)間隔時(shí),將上次單擊事件的時(shí)間更新為當(dāng)前時(shí)間。
[0133]S65:將上次單擊事件的時(shí)間更新為空。
[0134]S66:確定識(shí)別出雙擊事件。
[0135]—些實(shí)施例中,在長(zhǎng)按事件識(shí)別時(shí),可以包括如下流程:
[0136]如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧;
[0137]如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于第二預(yù)設(shè)距離值,如果小于,則判斷啟動(dòng)時(shí)間是否大于預(yù)設(shè)持續(xù)時(shí)間;如果大于,確定識(shí)別出長(zhǎng)按事件;
[0138]如果接收的觸摸事件是松開(kāi)事件,則結(jié)束識(shí)別。
[0139]上述的移動(dòng)距離可以根據(jù)棧內(nèi)的首個(gè)事件(按下事件)的位置坐標(biāo)與當(dāng)前事件(移動(dòng)事件)的位置坐標(biāo)確定,將這兩個(gè)位置坐標(biāo)的差值確定為移動(dòng)距離。
[0140]上述的啟動(dòng)時(shí)間可以根據(jù)棧內(nèi)的首個(gè)事件(按下事件)的發(fā)生時(shí)間與當(dāng)前件(移動(dòng)事件)的發(fā)生時(shí)間確定,將這兩個(gè)時(shí)間的差值確定為啟動(dòng)時(shí)間。
[0141]圖7是本發(fā)明實(shí)施例中雙擊事件識(shí)別流程中接收到移動(dòng)事件后的示意圖。參見(jiàn)圖7,該流程包括:
[0142]S71:接收到觸摸事件是移動(dòng)事件。
[0143]S7 2:判斷識(shí)別是否已啟動(dòng),若是,執(zhí)行S7 3,否則,執(zhí)行S76。
[0144]S73:判斷移動(dòng)距離是否小于第二預(yù)設(shè)距離值,若是,執(zhí)行S74,否則,執(zhí)行S76。
[0145]第二預(yù)設(shè)距離值可以根據(jù)經(jīng)驗(yàn)等設(shè)置,與上述的第一預(yù)設(shè)距離值可以相同或不同。
[0146]S74:判斷啟動(dòng)時(shí)間是否大于預(yù)設(shè)持續(xù)時(shí)間,若是,執(zhí)行S75,否則,執(zhí)行S76。
[0147]預(yù)設(shè)持續(xù)時(shí)間可以根據(jù)經(jīng)驗(yàn)等設(shè)置。
[0148]S75:確定識(shí)別出長(zhǎng)按事件。
[0149]S76:結(jié)束識(shí)別。
[0150]—些實(shí)施例中,在拖動(dòng)事件識(shí)別時(shí),可以包括如下流程:
[0151]如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧,以及,獲取按下事件的位置坐標(biāo)對(duì)應(yīng)的控件,在所述空間是可拖動(dòng)控件時(shí),發(fā)送拖動(dòng)開(kāi)始事件;
[0152]如果接收的觸摸事件是移動(dòng)事件,對(duì)移動(dòng)事件進(jìn)行事件入棧,以及判斷移動(dòng)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)進(jìn)行事件;
[0153]如果接收的觸摸事件是松開(kāi)事件,對(duì)松開(kāi)事件進(jìn)行事件入棧,以及,判斷松開(kāi)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)結(jié)束事件。
[0154]上述的拖動(dòng)事件識(shí)別過(guò)程中,接收到各觸摸事件的具體處理流程可以參見(jiàn)如下的實(shí)施例。
[0155]圖8是本發(fā)明實(shí)施例中拖動(dòng)事件識(shí)別流程中接收到按下事件后的示意圖。參見(jiàn)圖8,該流程包括:
[0156]S81:接收到觸摸事件是按下事件。
[0157]S82:初始化識(shí)別。
[0158]初始化識(shí)別時(shí)例如包括:判斷識(shí)別是否已啟動(dòng),如果已啟動(dòng),則結(jié)束識(shí)別,如果未啟動(dòng),則啟動(dòng)識(shí)別。
[0159]S83:在啟動(dòng)識(shí)別后,對(duì)按下事件進(jìn)行事件入棧。
[0160]S84:獲取按下事件的位置坐標(biāo)對(duì)應(yīng)的控件,并判斷該控件是否是可拖動(dòng)控件,若是,執(zhí)行S85,否則,執(zhí)行S86。
[0161 ]可拖動(dòng)控件例如包括:UI Scro 11 View、BTapDe tectingView、UIWebView。
[0162]如果按下事件的位置坐標(biāo)處的控件是上述控件的任一種,則確定該控件是可拖動(dòng)控件。
[0163]S85:發(fā)送拖動(dòng)開(kāi)始事件。
[0164]此時(shí)可以識(shí)別出拖動(dòng)開(kāi)始事件,并可以發(fā)送拖動(dòng)開(kāi)始事件。
[0165]S86:結(jié)束識(shí)別。
[0166]圖9是本發(fā)明實(shí)施例中拖動(dòng)事件識(shí)別流程中接收到移動(dòng)事件后的示意圖。參見(jiàn)圖9,該流程包括:
[0167]S91:接收到觸摸事件是移動(dòng)事件。
[0?68] S92:判斷識(shí)別是否已啟動(dòng),若是,執(zhí)行S94,否則,執(zhí)行S93。
[0169]S93:結(jié)束識(shí)別。
[0170]S94:對(duì)移動(dòng)事件進(jìn)行事件入棧。
[0171]S95:判斷移動(dòng)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,若是,執(zhí)行S96,否則,執(zhí)行S97。
[0172]S96:發(fā)送拖動(dòng)進(jìn)行事件。
[0173]此時(shí)可以識(shí)別出拖動(dòng)進(jìn)行事件,并可以發(fā)送拖動(dòng)進(jìn)行事件。
[0174]S97:發(fā)送拖動(dòng)結(jié)束事件。
[0175]此時(shí)可以識(shí)別出拖動(dòng)結(jié)束事件,并可以發(fā)送拖動(dòng)結(jié)束事件。
[0176]圖10是本發(fā)明實(shí)施例中拖動(dòng)事件識(shí)別流程中接收到松開(kāi)事件后的示意圖。參見(jiàn)圖10,該流程包括:
[0177]SlOl:接收到觸摸事件是松開(kāi)事件。
[0178]S102:判斷識(shí)別是否已啟動(dòng),若是,執(zhí)行S103,否則,執(zhí)行S106。
[0179]S103:對(duì)松開(kāi)事件進(jìn)行事件入棧。
[0180]S104:判斷松開(kāi)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,若是,執(zhí)行S105,否則,執(zhí)行S106。
[0181]S105:發(fā)送拖動(dòng)結(jié)束事件。
[0182]此時(shí)可以識(shí)別出拖動(dòng)結(jié)束事件,并可以發(fā)送拖動(dòng)結(jié)束事件。
[0183]S106:結(jié)束識(shí)別。
[0184]可以理解的是,在上述手勢(shì)事件識(shí)別過(guò)程中,在識(shí)別出單擊事件、雙擊事件或長(zhǎng)按事件后,可以一次性將相應(yīng)的手勢(shì)事件發(fā)送給后續(xù)的用于事件分發(fā)的模塊。而在拖動(dòng)事件的識(shí)別過(guò)程中,由于拖動(dòng)事件是持續(xù)一段時(shí)間的事件,因此可以在整個(gè)拖動(dòng)過(guò)程中多次發(fā)送事件給后續(xù)的用于事件分發(fā)的模塊。
[0185]本實(shí)施例中,通過(guò)在待反向控制的元素是HTML頁(yè)面中的元素時(shí),根據(jù)手勢(shì)事件為元素配置HTML參數(shù),可以使得元素根據(jù)配置的HTML參數(shù)進(jìn)行處理以響應(yīng)手勢(shì)事件,從而實(shí)現(xiàn)對(duì)HTML頁(yè)面中元素的反向控制,并且該反向控制流程沒(méi)有調(diào)用操作系統(tǒng)的接口,因此可以避開(kāi)移動(dòng)端操作系統(tǒng)對(duì)接口使用的限制,方便的實(shí)現(xiàn)對(duì)移動(dòng)端頁(yè)面的反向控制。
[0186]圖11是本發(fā)明一個(gè)實(shí)施例提出的反向控制移動(dòng)端頁(yè)面的裝置的結(jié)構(gòu)示意圖。參見(jiàn)圖11,該裝置110包括:通信模塊111、手勢(shì)識(shí)別模塊112和轉(zhuǎn)換模塊113。
[0187]通信模塊111用于接收其他終端發(fā)送的用于反向控制的觸摸事件;
[0188]以其他終端是車機(jī)為例,則參見(jiàn)圖12,通信模塊可以接收車機(jī)發(fā)送的觸摸事件。
[0189]手勢(shì)識(shí)別模塊112用于根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,以及確定出待反向控制的元素;
[0190]轉(zhuǎn)換模塊113用于如果所述元素是HTML頁(yè)面中的元素,根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),以使所述元素根據(jù)所述HTML參數(shù)進(jìn)行處理以響應(yīng)所述手勢(shì)事件。
[0191]可選的,所述觸摸事件包括:按下事件、移動(dòng)事件和松開(kāi)事件;
[0192]所述手勢(shì)事件包括:單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件;
[0193]所述手勢(shì)識(shí)別模塊具體用于:
[0194]在接收到所述觸摸事件時(shí),同時(shí)啟動(dòng)對(duì)單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件的識(shí)別。
[0195]一些實(shí)施例中,參見(jiàn)圖12,手勢(shì)識(shí)別模塊112包括:第一單元、第二單元、第三單元和第四單元;
[0196]所述第一單元用于:
[0197]如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧;
[0198]如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于預(yù)設(shè)距離值,如果小于,則對(duì)移動(dòng)事件進(jìn)行事件入棧;
[0199]如果接收的觸摸事件是松開(kāi)事件,判斷啟動(dòng)時(shí)間是否在預(yù)設(shè)范圍內(nèi),如果在預(yù)設(shè)范圍內(nèi),則確定識(shí)別出單擊事件。
[0200]所述第二單元用于:
[0201]識(shí)別出單擊事件;
[0202]判斷上次單擊事件的時(shí)間是否不為空;
[0203]如果不為空,計(jì)算當(dāng)前時(shí)間與上次單擊事件的時(shí)間的差值,并判斷所述差值是否小于預(yù)設(shè)時(shí)間間隔;
[0204]如果小于,將上次單擊事件的時(shí)間更新為空,并確定識(shí)別出雙擊事件。
[0205]所述第三單元用于:
[0206]如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧;
[0207]如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于第二預(yù)設(shè)距離值,如果小于,則判斷啟動(dòng)時(shí)間是否大于預(yù)設(shè)持續(xù)時(shí)間;如果大于,確定識(shí)別出長(zhǎng)按事件;
[0208]如果接收的觸摸事件是松開(kāi)事件,則結(jié)束識(shí)別。
[0209]所述第四單元用于:
[0210]如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧,以及,獲取按下事件的位置坐標(biāo)對(duì)應(yīng)的控件,在所述空間是可拖動(dòng)控件時(shí),發(fā)送拖動(dòng)開(kāi)始事件;
[0211]如果接收的觸摸事件是移動(dòng)事件,對(duì)移動(dòng)事件進(jìn)行事件入棧,以及判斷移動(dòng)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)進(jìn)行事件;
[0212]如果接收的觸摸事件是松開(kāi)事件,對(duì)松開(kāi)事件進(jìn)行事件入棧,以及,判斷松開(kāi)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)結(jié)束事件。
[0213]所述轉(zhuǎn)換模塊用于根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),包括:
[0214]如果所述手勢(shì)事件是單擊事件,則根據(jù)預(yù)先對(duì)HTML頁(yè)面中的元素的標(biāo)記信息,從單擊事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找類型是可控的元素,在查找到類型是可控的元素后,將所述元素與HTML頁(yè)面中的點(diǎn)擊事件綁定。
[0215]所述轉(zhuǎn)換模塊用于根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),包括:
[0216]如果所述手勢(shì)事件是拖動(dòng)事件,從拖動(dòng)事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找可滾動(dòng)的元素,在查找到可滾動(dòng)的元素后,判斷所述元素是否還滿足如下條件中的任一項(xiàng):
[0217]所述元素是頂層元素,且所述元素的尺寸大于視圖尺寸;或者,
[0218]所述元素是普通元素,且所述元素的尺寸大于所述元素的父元素的尺寸;
[0219]如果所述元素是可滾動(dòng)元素,且還滿足上述條件中的任一項(xiàng),根據(jù)所述拖動(dòng)事件的移動(dòng)距離為所述元素配置HTML頁(yè)面中的滾動(dòng)參數(shù)。
[0220]一些實(shí)施例中,參見(jiàn)圖12,該裝置110還包括:
[0221]事件分發(fā)模塊114,用于判斷待反向控制的元素是否是HTML頁(yè)面中的元素,并在所述元素是HTML頁(yè)面中的元素時(shí),將所述手勢(shì)事件發(fā)送給所述轉(zhuǎn)換模塊,在所述元素是可交互的原生控件時(shí),將所述手勢(shì)事件發(fā)送給交互模塊;
[0222]交互模塊115,用于將接收的所述手勢(shì)事件發(fā)送給可交互的原生控件,以使可交互的原生控件響應(yīng)所述手勢(shì)事件。
[0223]可以理解的是,本實(shí)施例與上述的方法實(shí)施例對(duì)應(yīng),具體內(nèi)容可以參見(jiàn)方法實(shí)施例中的相關(guān)描述,在此不再詳細(xì)說(shuō)明。
[0224]本實(shí)施例中,通過(guò)在待反向控制的元素是HTML頁(yè)面中的元素時(shí),根據(jù)手勢(shì)事件為元素配置HTML參數(shù),可以使得元素根據(jù)配置的HTML參數(shù)進(jìn)行處理以響應(yīng)手勢(shì)事件,從而實(shí)現(xiàn)對(duì)HTML頁(yè)面中元素的反向控制,并且該反向控制流程沒(méi)有調(diào)用操作系統(tǒng)的接口,因此可以避開(kāi)移動(dòng)端操作系統(tǒng)對(duì)接口使用的限制,方便的實(shí)現(xiàn)對(duì)移動(dòng)端頁(yè)面的反向控制。
[0225]需要說(shuō)明的是,在本發(fā)明的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。此外,在本發(fā)明的描述中,除非另有說(shuō)明,“多個(gè)”的含義是指至少兩個(gè)。
[0226]流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
[0227]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
[0228]本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
[0229]此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
[0230]上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
[0231]在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0232]盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。
【主權(quán)項(xiàng)】
1.一種反向控制移動(dòng)端頁(yè)面的方法,其特征在于,包括: 接收其他終端發(fā)送的用于反向控制的觸摸事件; 根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,以及確定出待反向控制的元素; 如果所述元素是HTML頁(yè)面中的元素,根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),以使所述元素根據(jù)所述HTML參數(shù)進(jìn)行處理以響應(yīng)所述手勢(shì)事件。2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述觸摸事件包括:按下事件、移動(dòng)事件和松開(kāi)事件; 所述手勢(shì)事件包括:單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,包括: 在接收到所述觸摸事件時(shí),同時(shí)啟動(dòng)對(duì)單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件的識(shí)別。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在識(shí)別單擊事件時(shí),所述根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,包括: 如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧; 如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于預(yù)設(shè)距離值,如果小于,則對(duì)移動(dòng)事件進(jìn)行事件入棧; 如果接收的觸摸事件是松開(kāi)事件,判斷啟動(dòng)時(shí)間是否在預(yù)設(shè)范圍內(nèi),如果在預(yù)設(shè)范圍內(nèi),則確定識(shí)別出單擊事件。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,在識(shí)別雙擊事件時(shí),所述根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,包括: 識(shí)別出單擊事件; 判斷上次單擊事件的時(shí)間是否不為空; 如果不為空,計(jì)算當(dāng)前時(shí)間與上次單擊事件的時(shí)間的差值,并判斷所述差值是否小于預(yù)設(shè)時(shí)間間隔; 如果小于,將上次單擊事件的時(shí)間更新為空,并確定識(shí)別出雙擊事件。6.根據(jù)權(quán)利要求2所述的方法,其特征在于,在識(shí)別長(zhǎng)按事件時(shí),所述根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,包括: 如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧; 如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于第二預(yù)設(shè)距離值,如果小于,則判斷啟動(dòng)時(shí)間是否大于預(yù)設(shè)持續(xù)時(shí)間;如果大于,確定識(shí)別出長(zhǎng)按事件; 如果接收的觸摸事件是松開(kāi)事件,則結(jié)束識(shí)別。7.根據(jù)權(quán)利要求2所述的方法,其特征在于,在識(shí)別拖動(dòng)事件時(shí),所述拖動(dòng)事件包括:拖動(dòng)開(kāi)始事件、拖動(dòng)進(jìn)行事件和拖動(dòng)結(jié)束事件,所述根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,包括: 如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧,以及,獲取按下事件的位置坐標(biāo)對(duì)應(yīng)的控件,在所述空間是可拖動(dòng)控件時(shí),發(fā)送拖動(dòng)開(kāi)始事件; 如果接收的觸摸事件是移動(dòng)事件,對(duì)移動(dòng)事件進(jìn)行事件入棧,以及判斷移動(dòng)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)進(jìn)行事件; 如果接收的觸摸事件是松開(kāi)事件,對(duì)松開(kāi)事件進(jìn)行事件入棧,以及,判斷松開(kāi)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)結(jié)束事件。8.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),包括: 如果所述手勢(shì)事件是單擊事件,則根據(jù)預(yù)先對(duì)HTML頁(yè)面中的元素的標(biāo)記信息,從單擊事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找類型是可控的元素,在查找到類型是可控的元素后,將所述元素與HTML頁(yè)面中的點(diǎn)擊事件綁定。9.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),包括: 如果所述手勢(shì)事件是拖動(dòng)事件,從拖動(dòng)事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找可滾動(dòng)的元素,在查找到可滾動(dòng)的元素后,判斷所述元素是否還滿足如下條件中的任一項(xiàng): 所述元素是頂層元素,且所述元素的尺寸大于視圖尺寸;或者, 所述元素是普通元素,且所述元素的尺寸大于所述元素的父元素的尺寸; 如果所述元素是可滾動(dòng)元素,且還滿足上述條件中的任一項(xiàng),根據(jù)所述拖動(dòng)事件的移動(dòng)距離為所述元素配置HTML頁(yè)面中的滾動(dòng)參數(shù)。10.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 判斷待反向控制的元素是否是HTML頁(yè)面中的元素; 如果所述待反向控制的元素是可交互的原生控件,則將識(shí)別出的手勢(shì)事件發(fā)送給可交互的原生控件,以使可交互的原生控件響應(yīng)所述手勢(shì)事件。11.一種反向控制移動(dòng)端頁(yè)面的裝置,其特征在于,包括: 通信模塊,用于接收其他終端發(fā)送的用于反向控制的觸摸事件; 手勢(shì)識(shí)別模塊,用于根據(jù)所述觸摸事件識(shí)別出手勢(shì)事件,以及確定出待反向控制的元素; 轉(zhuǎn)換模塊,用于如果所述元素是HTML頁(yè)面中的元素,根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),以使所述元素根據(jù)所述HTML參數(shù)進(jìn)行處理以響應(yīng)所述手勢(shì)事件。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述觸摸事件包括:按下事件、移動(dòng)事件和松開(kāi)事件;所述手勢(shì)事件包括:單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件;所述手勢(shì)識(shí)別模塊具體用于: 在接收到所述觸摸事件時(shí),同時(shí)啟動(dòng)對(duì)單擊事件、雙擊事件、長(zhǎng)按事件和拖動(dòng)事件的識(shí)別。13.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述手勢(shì)識(shí)別模塊包括用于識(shí)別單擊事件的第一單元,所述第一單元用于: 如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧; 如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于預(yù)設(shè)距離值,如果小于,則對(duì)移動(dòng)事件進(jìn)行事件入棧; 如果接收的觸摸事件是松開(kāi)事件,判斷啟動(dòng)時(shí)間是否在預(yù)設(shè)范圍內(nèi),如果在預(yù)設(shè)范圍內(nèi),則確定識(shí)別出單擊事件。14.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述手勢(shì)識(shí)別模塊包括用于識(shí)別雙擊事件的第二單元,所述第二單元用于: 識(shí)別出單擊事件; 判斷上次單擊事件的時(shí)間是否不為空; 如果不為空,計(jì)算當(dāng)前時(shí)間與上次單擊事件的時(shí)間的差值,并判斷所述差值是否小于預(yù)設(shè)時(shí)間間隔; 如果小于,將上次單擊事件的時(shí)間更新為空,并確定識(shí)別出雙擊事件。15.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述手勢(shì)識(shí)別模塊包括用于識(shí)別長(zhǎng)按事件的第三單元,所述第三單元用于: 如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧; 如果接收的觸摸事件是移動(dòng)事件,判斷移動(dòng)距離是否小于第二預(yù)設(shè)距離值,如果小于,則判斷啟動(dòng)時(shí)間是否大于預(yù)設(shè)持續(xù)時(shí)間;如果大于,確定識(shí)別出長(zhǎng)按事件; 如果接收的觸摸事件是松開(kāi)事件,則結(jié)束識(shí)別。16.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述拖動(dòng)事件包括:拖動(dòng)開(kāi)始事件、拖動(dòng)進(jìn)行事件和拖動(dòng)結(jié)束事件,所述手勢(shì)識(shí)別模塊包括用于識(shí)別拖動(dòng)事件的第四單元,所述第四單元用于: 如果接收的觸摸事件是按下事件,對(duì)按下事件進(jìn)行事件入棧,以及,獲取按下事件的位置坐標(biāo)對(duì)應(yīng)的控件,在所述空間是可拖動(dòng)控件時(shí),發(fā)送拖動(dòng)開(kāi)始事件; 如果接收的觸摸事件是移動(dòng)事件,對(duì)移動(dòng)事件進(jìn)行事件入棧,以及判斷移動(dòng)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)進(jìn)行事件; 如果接收的觸摸事件是松開(kāi)事件,對(duì)松開(kāi)事件進(jìn)行事件入棧,以及,判斷松開(kāi)事件的位置坐標(biāo)是否在可拖動(dòng)控件內(nèi)部,如果在內(nèi)部,則發(fā)送拖動(dòng)結(jié)束事件。17.根據(jù)權(quán)利要求11-16任一項(xiàng)所述的裝置,其特征在于,所述轉(zhuǎn)換模塊用于根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),包括: 如果所述手勢(shì)事件是單擊事件,則根據(jù)預(yù)先對(duì)HTML頁(yè)面中的元素的標(biāo)記信息,從單擊事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找類型是可控的元素,在查找到類型是可控的元素后,將所述元素與HTML頁(yè)面中的點(diǎn)擊事件綁定。18.根據(jù)權(quán)利要求11-16任一項(xiàng)所述的裝置,其特征在于,所述轉(zhuǎn)換模塊用于根據(jù)所述手勢(shì)事件為所述元素配置HTML參數(shù),包括: 如果所述手勢(shì)事件是拖動(dòng)事件,從拖動(dòng)事件的位置坐標(biāo)對(duì)應(yīng)的元素開(kāi)始,從下至上查找可滾動(dòng)的元素,在查找到可滾動(dòng)的元素后,判斷所述元素是否還滿足如下條件中的任一項(xiàng): 所述元素是頂層元素,且所述元素的尺寸大于視圖尺寸;或者, 所述元素是普通元素,且所述元素的尺寸大于所述元素的父元素的尺寸; 如果所述元素是可滾動(dòng)元素,且還滿足上述條件中的任一項(xiàng),根據(jù)所述拖動(dòng)事件的移動(dòng)距離為所述元素配置HTML頁(yè)面中的滾動(dòng)參數(shù)。19.根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括: 事件分發(fā)模塊,用于判斷待反向控制的元素是否是HTML頁(yè)面中的元素,并在所述元素是HTML頁(yè)面中的元素時(shí),將所述手勢(shì)事件發(fā)送給所述轉(zhuǎn)換模塊,在所述元素是可交互的原生控件時(shí),將所述手勢(shì)事件發(fā)送給交互模塊; 交互模塊,用于將接收的所述手勢(shì)事件發(fā)送給可交互的原生控件,以使可交互的原生控件響應(yīng)所述手勢(shì)事件。
【文檔編號(hào)】G06F3/0488GK105912319SQ201610202382
【公開(kāi)日】2016年8月31日
【申請(qǐng)日】2016年3月31日
【發(fā)明人】黎河軍
【申請(qǐng)人】百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
长海县| 观塘区| 余庆县| 德格县| 沙田区| 庐江县| 河东区| 石屏县| 慈溪市| 营口市| 富宁县| 罗源县| 论坛| 龙南县| 隆安县| 赤水市| 广昌县| 三原县| 库车县| 开封市| 宝坻区| 南昌市| 阿克苏市| 于都县| 丹凤县| 黎川县| 贵定县| 乌审旗| 涟源市| 万荣县| 乌苏市| 财经| 天祝| 建水县| 专栏| 明溪县| 修文县| 邯郸县| 马边| 焦作市| 新蔡县|