亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種瀏覽器消息處理方法及裝置的制作方法

文檔序號:6443847閱讀:155來源:國知局
專利名稱:一種瀏覽器消息處理方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及Windows消息處理技術(shù)領(lǐng)域,特別是涉及一種瀏覽器消息處理方法及
直ο
背景技術(shù)
Windows操作系統(tǒng)是一個消息(Message)驅(qū)動系統(tǒng)。Windows的消息提供了應(yīng)用程序之間、應(yīng)用程序與Windows操作系統(tǒng)之間進(jìn)行通信的手段,應(yīng)用程序想要實現(xiàn)的功能由消息來觸發(fā),并且靠對消息的響應(yīng)和處理來完成。計算機(jī)的所有輸入設(shè)備由Windows統(tǒng)一進(jìn)行監(jiān)控。當(dāng)一個事件發(fā)生時,Windows先將輸入的消息放入系統(tǒng)消息隊列中,再將消息拷貝到應(yīng)用程序相應(yīng)的線程消息隊列中。應(yīng)用程序的消息處理程序?qū)⒎磸?fù)檢測消息隊列,并把檢測到的消息進(jìn)行轉(zhuǎn)換后,分發(fā)到相應(yīng)的窗口函數(shù)中,由相應(yīng)的窗口函數(shù)對消息進(jìn)行處理。這便是一個事件從發(fā)生至到達(dá)窗口函數(shù)進(jìn)行處理所必須經(jīng)歷的過程。然而,在Windows操作系統(tǒng)中,消息并非是搶占性的,也即,無論事件的緩急,總是按照到達(dá)的先后依次進(jìn)行處理(一些系統(tǒng)消息除外),這樣可能會造成一些不利的影響。例如,可能會使一些實時外部事件得不到及時處理,影響應(yīng)用程序?qū)唧w功能的實現(xiàn)。例如, 對于瀏覽器而言,該應(yīng)用程序時一個需要頻繁與用戶進(jìn)行交互的網(wǎng)頁瀏覽工具,當(dāng)用戶觸發(fā)一些外部事件之后,如果遲遲得到不處理,可能會使得一些操作失效,等等。因此,迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問題就在于,如何能更加靈活地對瀏覽器的消息進(jìn)行處理,以更好地實現(xiàn)瀏覽器的功能。

發(fā)明內(nèi)容
本發(fā)明提供了一種瀏覽器消息處理方法及裝置,能夠更加靈活地對瀏覽器的消息進(jìn)行處理,以更好地實現(xiàn)瀏覽器的功能。本發(fā)明提供了如下方案一種瀏覽器消息處理方法,包括應(yīng)用程序創(chuàng)建一消息隊列;從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息,放入所述應(yīng)用程序創(chuàng)建的消息隊列中;判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整;按照所述應(yīng)用程序創(chuàng)建的消息隊列中各消息的順序,將各個消息分發(fā)到瀏覽器相應(yīng)的窗口進(jìn)行處理。優(yōu)選地,還包括從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息之后,將所述取出的消息從所述操作系統(tǒng)創(chuàng)建的消息隊列中清除。
其中,所述判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整包括判斷所述取出的消息中是否存在需要由當(dāng)前處于焦點的窗口處理的消息,如果存在,則將該消息調(diào)整到消息隊列的前端。其中,所述判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整包括判斷所述取出的消息中是否存在與用戶交互相關(guān)的消息,如果存在,則將該消息調(diào)整到消息隊列的前端。其中,所述判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整包括判斷所述取出的消息中是否存在需要在第一消息之前處理的第二消息,如果存在,則將所述第二消息調(diào)整到所述第一消息之前。一種消息處理裝置,包括隊列創(chuàng)建單元,用于應(yīng)用程序創(chuàng)建一消息隊列;消息取出單元,用于從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息,放入所述應(yīng)用程序創(chuàng)建的消息隊列中;順序調(diào)整單元,用于判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整;消息分發(fā)單元,用于按照所述應(yīng)用程序創(chuàng)建的消息隊列中各消息的順序,將各個消息分發(fā)到瀏覽器相應(yīng)的窗口進(jìn)行處理。其中,還包括清除單元,用于從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息之后,將所述取出的消息從所述操作系統(tǒng)創(chuàng)建的消息隊列中清除。其中,所述順序調(diào)整單元包括第一調(diào)整子單元,用于判斷所述取出的消息中是否存在需要由當(dāng)前處于焦點的窗口處理的消息,如果存在,則將該消息調(diào)整到消息隊列的前端。其中,所述順序調(diào)整單元包括第二調(diào)整子單元,用于判斷所述取出的消息中是否存在與用戶交互相關(guān)的消息, 如果存在,則將該消息調(diào)整到消息隊列的前端。其中,所述順序調(diào)整單元包括第三調(diào)整子單元,用于判斷所述取出的消息中是否存在需要在第一消息之前處理的第二消息,如果存在,則將所述第二消息調(diào)整到所述第一消息之前。根據(jù)本發(fā)明提供的具體實施例,本發(fā)明達(dá)到了以下技術(shù)效果通過本發(fā)明實施例,由于應(yīng)用程序可以自行創(chuàng)建消息隊列,并將操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中的當(dāng)前消息取出,放入該自行創(chuàng)建的消息隊列中,從而使得消息的先后執(zhí)行順序是可以調(diào)整的,而不是一律地按照操作系統(tǒng)中規(guī)定的先到先處理的原則, 這樣,可以更加靈活地對消息隊列中的消息進(jìn)行處理。例如,可以使得一些實時外部事件得到及時處理,并且,如果出現(xiàn)有些在后到達(dá)的消息必須趕在另一些在先到達(dá)的消息之前處理才能達(dá)到預(yù)定效果的情況,則可以將在后到達(dá)的消息提到在先到達(dá)的消息之前,從而達(dá)到預(yù)定效果。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的方法的流程圖;圖2是本發(fā)明實施例提供的裝置的示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。參見圖1,本發(fā)明實施例首先提供了一種瀏覽器消息處理方法,該方法可以應(yīng)用于一應(yīng)用程序中(該應(yīng)用程序可以是為實現(xiàn)該消息處理功能開發(fā)的一種應(yīng)用程序,也可以是在已有瀏覽器基礎(chǔ)上增加該消息處理功能,等等),具體實現(xiàn)時,該方法可以包括以下步驟SlOl 應(yīng)用程序創(chuàng)建一消息隊列;該消息隊列是由應(yīng)用程序自己創(chuàng)建的,因此,應(yīng)用程序可以自行決定其中的消息以怎樣的順序進(jìn)行排列,還可以自行對順序進(jìn)行調(diào)整。S102:從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息,放入所述應(yīng)用程序創(chuàng)建的消息隊列中;為了更好地理解該步驟,下面首先對操作系統(tǒng)中的消息處理過程進(jìn)行簡單地介紹。一般而言,一個消息(以外部輸入消息為例)從產(chǎn)生到最后被處理會經(jīng)歷以下過程 (1)當(dāng)鼠標(biāo)或者鍵盤有動作時,設(shè)備驅(qū)動將輸入操作轉(zhuǎn)換為消息并將它放入到系統(tǒng)消息隊列中;(2)操作系統(tǒng)每次從系統(tǒng)消息隊列中移出一個消息時,會判斷這個消息屬于哪個目標(biāo)窗口,然后將其分發(fā)到創(chuàng)建目標(biāo)窗口的線程的消息隊列里,換言之,線程的消息隊列為其創(chuàng)建的窗口接收所有鼠標(biāo)和鍵盤消息;(3)線程從它的消息隊列中移出消息并指引系統(tǒng)將這些消息分發(fā)到正確的窗口來對消息進(jìn)行處理??梢?,操作系統(tǒng)會創(chuàng)建兩種消息隊列,一種是系統(tǒng)消息隊列,所有消息都會先放入這個系統(tǒng)消息隊列;另一種是線程的消息隊列,需要由某線程創(chuàng)建的窗口處理的所有消息會放入該線程的消息隊列中。相應(yīng)的,對于在操作系統(tǒng)中運行的瀏覽器程序而言,操作系統(tǒng)也會為瀏覽器的線程創(chuàng)建消息隊列,當(dāng)從系統(tǒng)消息隊列中取出的消息屬于瀏覽器的某線程時,就會將該消息放入到該線程的消息隊列中。本發(fā)明實施例就是將已經(jīng)分發(fā)到瀏覽器線程的消息隊列中的線程取出來,存放到應(yīng)用程序自己創(chuàng)建的消息隊列中。需要說明的是,瀏覽器線程的消息隊列中的消息,除了包括上述外部輸入的消息 (也即由鼠標(biāo)鍵盤等產(chǎn)生的消息)之外,還可能包括系統(tǒng)消息(也即由操作系統(tǒng)產(chǎn)生的消息),此外,還可能包括瀏覽器自身產(chǎn)生的消息,例如,某操作可能并不是立即處理,此時,可以通過產(chǎn)生消息的方式進(jìn)行延后處理,也即,先將該消息放到消息隊列中進(jìn)行排隊,從而延后該消息的處理時間;再或者有些操作可能是需要跨線程執(zhí)行的,此時,也可以先放到消息隊列中,然后分發(fā)到對應(yīng)的線程消息隊列中,等等。本發(fā)明實施例中,從瀏覽器線程的消息隊列中取出當(dāng)前消息時,可以包括上述所有類型的消息,也即,所有消息,無論其來自于外部輸入還是操作系統(tǒng)還是瀏覽器自身,都可以將其取出,放入到應(yīng)用程序自行創(chuàng)建的消息隊列中,以便對消息的順序進(jìn)行調(diào)整。當(dāng)然,一些系統(tǒng)消息的執(zhí)行順序可能是不允許調(diào)整的,此時,可以不對這種系統(tǒng)消息進(jìn)行順序調(diào)整。另外需要說明的是,具體在從瀏覽器線程的消息隊列中取出消息時,可以利用操作系統(tǒng)提供的API (Application Programming hterface,應(yīng)用程序編程接口)函數(shù)等方式來進(jìn)行。例如,可以直接使用以下API函數(shù)=PeekMessage。當(dāng)然,為了避免程序運行過程中出現(xiàn)錯誤,在從操作系統(tǒng)創(chuàng)建的消息隊列中取出當(dāng)前的消息之后,還可以將取出的消息從所述操作系統(tǒng)創(chuàng)建的消息隊列中清除。S103:判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整;具體對消息進(jìn)行調(diào)整的依據(jù)可以根據(jù)實際應(yīng)用中的需要來確定,例如,可以認(rèn)為一些與用戶交互相關(guān)的操作產(chǎn)生的消息是需要優(yōu)先處理的,此時,就可以將這樣的消息放入到消息隊列中比較靠前的位置。又如,假如用戶在看視頻,那么視頻相關(guān)的操作就可能需要優(yōu)先操作,此時,就可以將這種操作對應(yīng)的消息放入到消息隊列中比較靠前的位置。再如,如果用戶在看視頻時,又進(jìn)行了其他操作,于是就可以認(rèn)為用戶的這個操作對應(yīng)的消息需要插隊、提前處理,等等。此外,還可以判斷各個消息是否需要由當(dāng)前處于焦點的窗口處理,如果是,則可以將該消息的順序提前。再者,有些消息(尤其是由瀏覽器自身產(chǎn)生的消息)可能是需要在另一消息之前執(zhí)行的,此時,還可以將該消息調(diào)整到該另一消息之前,等寸。需要說明的是,操作系統(tǒng)會對每個消息進(jìn)行編號,每個消息具有自己的ID,消息中可以包含窗口句柄、消息類型等信息,通過系統(tǒng)的API函數(shù)可以獲知這些信息(例如,通過 GetlnputMate可以檢查是否有鍵盤或鼠標(biāo)消息在線程消息隊列中,通過GetQueueStatus 可以檢查消息隊列中某一類型的消息,等等)根據(jù)這些信息可以知悉每個消息分別需要由哪個窗口進(jìn)行處理以及消息對應(yīng)的操作等等,進(jìn)而就可以根據(jù)預(yù)先設(shè)定的規(guī)則,來確定各個消息在消息隊列中的順序。例如,發(fā)現(xiàn)取出的某消息對應(yīng)的操作是需要由某視頻播放窗口處理的,并且預(yù)先設(shè)置這類消息的優(yōu)先級比較高,因此,就可以將該消息放在消息隊列中比較靠前的位置,甚至可以放在首位,等等。S104:按照所述應(yīng)用程序創(chuàng)建的消息隊列中各消息的順序,將各個消息分發(fā)到瀏覽器相應(yīng)的窗口進(jìn)行處理。由于在應(yīng)用程序自行創(chuàng)建的消息隊列中,各個消息已經(jīng)重新進(jìn)行了調(diào)整,因此,就可以按照調(diào)整之后的順序,對各個消息進(jìn)行分發(fā)處理。具體的,由于在步驟S102中是從瀏覽器線程的消息隊列中取出的消息,因此在分發(fā)處理時,可以直接將消息分發(fā)到對應(yīng)的瀏覽器窗口,由對應(yīng)的窗口對消息進(jìn)行處理即可。也就是說,相當(dāng)于是在操作系統(tǒng)將系統(tǒng)隊列中的消息分發(fā)到具體的瀏覽器線程消息隊列之后,并不是由線程自己將消息分發(fā)到具體的窗口,而是由具有本發(fā)明實施例所述的消息處理功能的應(yīng)用程序,代替各個具體的線程完成該分發(fā)工作。具體實現(xiàn)時,在代替具體的線程完成消息分發(fā)的操作時,同樣可以由該具有消息處理功能的應(yīng)用程序使用操作系統(tǒng)提供的API函數(shù)來實現(xiàn)(該API函數(shù)可以是 DispatchMessage)??傊ㄟ^本發(fā)明實施例提供的消息處理方法,由于應(yīng)用程序可以自行創(chuàng)建消息隊列,并將操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中的當(dāng)前消息取出,放入該自行創(chuàng)建的消息隊列中,從而使得消息的先后執(zhí)行順序是可以調(diào)整的,而不是一律地按照操作系統(tǒng)中規(guī)定的先到先處理的原則,這樣,可以更加靈活地對消息隊列中的消息進(jìn)行處理。例如,可以使得一些實時外部事件得到及時處理,并且,如果出現(xiàn)有些在后到達(dá)的消息必須趕在另一些在先到達(dá)的消息之前處理才能達(dá)到預(yù)定效果的情況,則可以將在后到達(dá)的消息提到在先到達(dá)的消息之前,從而達(dá)到預(yù)定效果。與本發(fā)明實施例提供的瀏覽器消息處理方法相對應(yīng),本發(fā)明實施例還提供了一種瀏覽器消息處理裝置,同樣,該裝置應(yīng)用于一應(yīng)用程序中,參見圖2,該裝置包括以下單元隊列創(chuàng)建單元201,用于應(yīng)用程序創(chuàng)建一消息隊列;消息取出單元202,用于從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息,放入所述應(yīng)用程序創(chuàng)建的消息隊列中;順序調(diào)整單元203,用于判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整;消息分發(fā)單元204,用于按照所述應(yīng)用程序創(chuàng)建的消息隊列中各消息的順序,將各個消息分發(fā)到瀏覽器相應(yīng)的窗口進(jìn)行處理。當(dāng)然,為了避免程序運行過程中出現(xiàn)錯誤,在從操作系統(tǒng)創(chuàng)建的消息隊列中取出當(dāng)前的消息之后,還可以將取出的消息從所述操作系統(tǒng)創(chuàng)建的消息隊列中清除。具體實現(xiàn)時,該裝置還可以包括清除單元,用于從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息之后,將所述取出的消息從所述操作系統(tǒng)創(chuàng)建的消息隊列中清除。其中,具體實現(xiàn)時,順序調(diào)整單元203具體可以包括第一調(diào)整子單元,用于判斷所述取出的消息中是否存在需要由當(dāng)前處于焦點的窗口處理的消息,如果存在,則將該消息調(diào)整到消息隊列的前端?;蛘?,順序調(diào)整單元203具體也可以包括第二調(diào)整子單元,用于判斷所述取出的消息中是否存在與用戶交互相關(guān)的消息, 如果存在,則將該消息調(diào)整到消息隊列的前端。再者,順序調(diào)整單元203具體還可以包括第三調(diào)整子單元,用于判斷所述取出的消息中是否存在需要在第一消息之前處理的第二消息,如果存在,則將所述第二消息調(diào)整到所述第一消息之前。通過本發(fā)明實施例提供的消息處理裝置,由于應(yīng)用程序可以自行創(chuàng)建消息隊列, 并將操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中的當(dāng)前消息取出,放入該自行創(chuàng)建的消息隊列中,從而使得消息的先后執(zhí)行順序是可以調(diào)整的,而不是一律地按照操作系統(tǒng)中規(guī)定的先到先處理的原則,這樣,可以更加靈活地對消息隊列中的消息進(jìn)行處理。例如,可以使得一些實時外部事件得到及時處理,并且,如果出現(xiàn)有些在后到達(dá)的消息必須趕在另一些在先到達(dá)的消息之前處理才能達(dá)到預(yù)定效果的情況,則可以將在后到達(dá)的消息提到在先到達(dá)的消息之前,從而達(dá)到預(yù)定效果。通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備 (可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置及系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上對本發(fā)明所提供的一種瀏覽器消息處理方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種瀏覽器消息處理方法,其特征在于,包括應(yīng)用程序創(chuàng)建一消息隊列;從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息,放入所述應(yīng)用程序創(chuàng)建的消息隊列中;判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整;按照所述應(yīng)用程序創(chuàng)建的消息隊列中各消息的順序,將各個消息分發(fā)到瀏覽器相應(yīng)的窗口進(jìn)行處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息之后,將所述取出的消息從所述操作系統(tǒng)創(chuàng)建的消息隊列中清除。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整包括判斷所述取出的消息中是否存在需要由當(dāng)前處于焦點的窗口處理的消息,如果存在, 則將該消息調(diào)整到消息隊列的前端。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整包括判斷所述取出的消息中是否存在與用戶交互相關(guān)的消息,如果存在,則將該消息調(diào)整到消息隊列的前端。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整包括判斷所述取出的消息中是否存在需要在第一消息之前處理的第二消息,如果存在,則將所述第二消息調(diào)整到所述第一消息之前。
6.一種消息處理裝置,其特征在于,包括隊列創(chuàng)建單元,用于應(yīng)用程序創(chuàng)建一消息隊列;消息取出單元,用于從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息,放入所述應(yīng)用程序創(chuàng)建的消息隊列中;順序調(diào)整單元,用于判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在, 將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整;消息分發(fā)單元,用于按照所述應(yīng)用程序創(chuàng)建的消息隊列中各消息的順序,將各個消息分發(fā)到瀏覽器相應(yīng)的窗口進(jìn)行處理。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括清除單元,用于從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息之后,將所述取出的消息從所述操作系統(tǒng)創(chuàng)建的消息隊列中清除。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述順序調(diào)整單元包括第一調(diào)整子單元,用于判斷所述取出的消息中是否存在需要由當(dāng)前處于焦點的窗口處理的消息,如果存在,則將該消息調(diào)整到消息隊列的前端。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述順序調(diào)整單元包括第二調(diào)整子單元,用于判斷所述取出的消息中是否存在與用戶交互相關(guān)的消息,如果存在,則將該消息調(diào)整到消息隊列的前端。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述順序調(diào)整單元包括 第三調(diào)整子單元,用于判斷所述取出的消息中是否存在需要在第一消息之前處理的第二消息,如果存在,則將所述第二消息調(diào)整到所述第一消息之前。
全文摘要
本發(fā)明公開了一種瀏覽器消息處理方法及裝置,其中,所述方法包括應(yīng)用程序創(chuàng)建一消息隊列;從操作系統(tǒng)為瀏覽器線程創(chuàng)建的消息隊列中取出當(dāng)前的所有消息,放入所述應(yīng)用程序創(chuàng)建的消息隊列中;判斷所述取出的消息中是否存在符合預(yù)置條件的消息,如果存在,將所符合預(yù)置條件的消息進(jìn)行順序調(diào)整;按照所述應(yīng)用程序創(chuàng)建的消息隊列中各消息的順序,將各個消息分發(fā)到瀏覽器相應(yīng)的窗口進(jìn)行處理。通過本發(fā)明,能夠更加靈活地對瀏覽器的消息進(jìn)行處理,以更好地實現(xiàn)瀏覽器的功能。
文檔編號G06F9/46GK102541641SQ201110448569
公開日2012年7月4日 申請日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者唐曦, 孫鵬 申請人:奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1