亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

瀏覽器窗口創(chuàng)建方法及裝置與制造工藝

文檔序號(hào):11057022閱讀:525來(lái)源:國(guó)知局
瀏覽器窗口創(chuàng)建方法及裝置與制造工藝
本發(fā)明涉及計(jì)算機(jī)及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種瀏覽器窗口創(chuàng)建方法及裝置。

背景技術(shù):
對(duì)于目前的雙核瀏覽器,當(dāng)用戶的點(diǎn)擊或者其它某種方式觸發(fā)源頁(yè)面的腳本創(chuàng)建一個(gè)窗口時(shí),如果網(wǎng)頁(yè)使用的是JavaScript的window.open方法,則會(huì)打開(kāi)一個(gè)新頁(yè)面,如果瀏覽器的核心切換引發(fā)進(jìn)程的切換,源頁(yè)面的腳本企圖控制打開(kāi)的新窗口的操作則由于跨進(jìn)程跨核心的緣故而無(wú)法成功,呈現(xiàn)給用戶的提示信息就是無(wú)法打開(kāi)新窗口或者打開(kāi)了一個(gè)空白窗口,甚至可能出現(xiàn)死循環(huán)而不斷彈出新窗口。造成上述問(wèn)題的原因是核心切換這個(gè)動(dòng)作直接影響了源頁(yè)面的后續(xù)邏輯,最終導(dǎo)致源頁(yè)面無(wú)法按照預(yù)期處理與用戶的交互。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種瀏覽器窗口創(chuàng)建方法及裝置,以至少解決上述問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種瀏覽器窗口創(chuàng)建方法,包括:為請(qǐng)求創(chuàng)建新窗口的源頁(yè)面創(chuàng)建空閑窗口和工作窗口,其中,空閑窗口與工作窗口分別由不同的瀏覽器內(nèi)核創(chuàng)建,且空閑窗口與源頁(yè)面通過(guò)同一個(gè)瀏覽器內(nèi)核創(chuàng)建;將工作窗口置于頂層且設(shè)置為能夠與用戶進(jìn)行交互的活動(dòng)狀態(tài),并將空閑窗口置于后臺(tái)且設(shè)置為不與用戶進(jìn)行交互的隱藏狀態(tài),以使用戶通過(guò)工作窗口完成與源頁(yè)面之間的交互。優(yōu)選地,為請(qǐng)求創(chuàng)建新窗口的源頁(yè)面創(chuàng)建空閑窗口和工作窗口,包括:判斷源頁(yè)面是否是通過(guò)調(diào)用腳本的方式請(qǐng)求創(chuàng)建新窗口;在判斷結(jié)果為是的情況下,為源頁(yè)面創(chuàng)建空閑窗口和工作窗口。優(yōu)選地,在判斷源頁(yè)面是否是通過(guò)調(diào)用腳本的方式請(qǐng)求創(chuàng)建新窗口之前,還包括:判斷需要在新窗口中顯示的新頁(yè)面的瀏覽器內(nèi)核是否與源頁(yè)面的瀏覽器內(nèi)核相同;在判斷結(jié)果為是的情況下,確定瀏覽器內(nèi)核已經(jīng)發(fā)生了切換,需要繼續(xù)判斷源頁(yè)面是否是通過(guò)調(diào)用腳本的方式請(qǐng)求創(chuàng)建新窗口。優(yōu)選地,判斷需要在新窗口中顯示的新頁(yè)面的瀏覽器內(nèi)核是否與源頁(yè)面的瀏覽器內(nèi)核相同,包括:根據(jù)預(yù)置的內(nèi)核切換信息,判斷新頁(yè)面的目標(biāo)統(tǒng)一資源定位符(URL)與源頁(yè)面的URL是否屬于同一個(gè)瀏覽器內(nèi)核。優(yōu)選地,判斷需要在新窗口中顯示的新頁(yè)面的瀏覽器內(nèi)核是否與源頁(yè)面的瀏覽器內(nèi)核相同,包括:根據(jù)用戶手動(dòng)切換內(nèi)核的記錄信息,判斷新頁(yè)面的目標(biāo)統(tǒng)一資源定位符(URL)與源頁(yè)面的URL是否屬于同一個(gè)瀏覽器內(nèi)核。優(yōu)選地,將工作窗口置于頂層并設(shè)置為能夠與用戶進(jìn)行交互的活動(dòng)狀態(tài),包括:將工作窗口至于頂層,并將用戶的當(dāng)前活動(dòng)消息派發(fā)給工作窗口;將空閑窗口置于后臺(tái)并設(shè)置為不與用戶進(jìn)行交互的隱藏狀態(tài),包括:禁止空閑窗口訪問(wèn)網(wǎng)絡(luò),并禁止用戶與空閑窗口之間的交互。根據(jù)本發(fā)明的另一方面,提供了一種瀏覽器窗口創(chuàng)建裝置,創(chuàng)建模塊,用于為請(qǐng)求創(chuàng)建新窗口的源頁(yè)面創(chuàng)建空閑窗口和工作窗口,其中,空閑窗口與工作窗口分別由不同的瀏覽器內(nèi)核創(chuàng)建,且空閑窗口與源頁(yè)面通過(guò)同一個(gè)瀏覽器內(nèi)核創(chuàng)建;設(shè)置模塊,將工作窗口置于頂層且設(shè)置為能夠與用戶進(jìn)行交互的活動(dòng)狀態(tài),并將空閑窗口置于后臺(tái)且設(shè)置為不與用戶進(jìn)行交互的隱藏狀態(tài),以使用戶通過(guò)工作窗口完成與源頁(yè)面之間的交互。優(yōu)選地,創(chuàng)建模塊包括:第一判斷單元,用于判斷源頁(yè)面是否是通過(guò)調(diào)用腳本的方式請(qǐng)求創(chuàng)建新窗口;創(chuàng)建單元,用于在第一判斷單元的判斷結(jié)果為是的情況下,為源頁(yè)面創(chuàng)建空閑窗口和工作窗口。優(yōu)選地,創(chuàng)建模塊還包括:第二判斷單元,用于判斷需要在新窗口中顯示的新頁(yè)面的瀏覽器內(nèi)核是否與源頁(yè)面的瀏覽器內(nèi)核相同;確定單元,用于在第二判斷單元的判斷結(jié)果為是的情況下,確定瀏覽器內(nèi)核已經(jīng)發(fā)生了切換,需要繼續(xù)判斷源頁(yè)面是否是通過(guò)調(diào)用腳本的方式請(qǐng)求創(chuàng)建新窗口。優(yōu)選地,設(shè)置模塊包括:第一設(shè)置單元,用于將工作窗口至于頂層,并將用戶的當(dāng)前活動(dòng)消息派發(fā)給工作窗口;第二設(shè)置單元,用于禁止空閑窗口訪問(wèn)網(wǎng)絡(luò),并禁止用戶與空閑窗口之間的交互。通過(guò)本發(fā)明,采用為請(qǐng)求創(chuàng)建新窗口的源頁(yè)面同時(shí)創(chuàng)建一個(gè)核心與源頁(yè)面不同的工作窗口和一個(gè)核心與源頁(yè)面相同的空閑窗口,并采用工作窗口作為新窗口與用戶進(jìn)行交互的方式,解決了核心切換這個(gè)動(dòng)作直接影響了源頁(yè)面的后續(xù)邏輯,最終導(dǎo)致源頁(yè)面無(wú)法按照預(yù)期處理與用戶的交互的問(wèn)題,進(jìn)而達(dá)到了既保證源頁(yè)面的功能完整性,又能滿足用戶手動(dòng)選擇目標(biāo)頁(yè)面核心類型需求的效果。附圖說(shuō)明此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:圖1是根據(jù)本發(fā)明實(shí)施例的瀏覽器窗口創(chuàng)建方法流程圖;圖2是根據(jù)本發(fā)明優(yōu)選實(shí)施例的一種新窗口創(chuàng)建進(jìn)程的流程圖;圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的另一種新窗口創(chuàng)建進(jìn)程的流程圖;圖4是根據(jù)本發(fā)明實(shí)施例的瀏覽器窗口創(chuàng)建裝置的結(jié)構(gòu)框圖;圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例一的瀏覽器窗口創(chuàng)建裝置的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例二的瀏覽器窗口創(chuàng)建裝置的結(jié)構(gòu)框圖。具體實(shí)施方式下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。在對(duì)本發(fā)明實(shí)施例進(jìn)行描述之前,先對(duì)本發(fā)明實(shí)施例中涉及到的和相關(guān)的技術(shù)術(shù)語(yǔ)進(jìn)行簡(jiǎn)要介紹:JavaScript:是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言,同時(shí)也是一種廣泛用于客戶端Web開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)為HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。極速核心模式:是指瀏覽器使用Webkit內(nèi)核渲染頁(yè)面的一種核心模式。兼容核心模式:是指瀏覽器使用Trident內(nèi)核渲染頁(yè)面的一種核心模式。瀏覽器(Browser)進(jìn)程:瀏覽器中的控制端,類似于通信中的服務(wù)端,它負(fù)責(zé)管理和協(xié)調(diào)所有的渲染器(Renderer)進(jìn)程,全局只有一個(gè)Browser進(jìn)程。Renderer進(jìn)程:瀏覽器中的被控端,細(xì)分為IERenderer進(jìn)程和ChromeRenderer進(jìn)程,分別代表兼容核心渲染的頁(yè)面和極速核心渲染的頁(yè)面,類似于通信中的客戶端,全局可能存在多個(gè)Renderer進(jìn)程。而且,為了更好地體現(xiàn)本發(fā)明實(shí)施例解決上述技術(shù)問(wèn)題的思路,對(duì)相關(guān)技術(shù)進(jìn)行進(jìn)一步的補(bǔ)充描述,需要說(shuō)明的是,這僅僅是為了對(duì)相關(guān)技術(shù)無(wú)法避免上述技術(shù)問(wèn)題的原因做進(jìn)一步的介紹:目前,在彈出窗口式的廣告場(chǎng)景下,源頁(yè)面會(huì)根據(jù)JavaScript的window.open返回的句柄來(lái)判定本次彈出操作是否成功,如果沒(méi)有成功,會(huì)反復(fù)重試。這樣以來(lái),如果頁(yè)面核心發(fā)生切換,源頁(yè)面的邏輯會(huì)認(rèn)為窗口一直沒(méi)有彈出成功,進(jìn)而不停地彈出廣告窗口,直到用戶的機(jī)器資源被耗盡。為了避免上述內(nèi)容所描述的種種場(chǎng)景的發(fā)生,大多數(shù)瀏覽器使用子頁(yè)面繼承父頁(yè)面核心類型的窗口創(chuàng)建方式,即如果是腳本創(chuàng)建的窗口,就強(qiáng)制該窗口和源窗口(即源頁(yè)面的顯示窗口)使用同一個(gè)進(jìn)程和同一個(gè)核心來(lái)渲染。但是,這樣也會(huì)帶來(lái)很多不可控的場(chǎng)景,例如,在某些搜索頁(yè)面中,當(dāng)用戶搜索的內(nèi)容是網(wǎng)銀的URL(必須用兼容核心才可以正常使用),如果該頁(yè)面本身被用戶從兼容核心切換到極速核心,則使用子頁(yè)面繼承父頁(yè)面核心類型策略的瀏覽器就會(huì)無(wú)法處理。顯然,相關(guān)技術(shù)無(wú)法解決多核瀏覽器打開(kāi)新窗口時(shí)瀏覽器內(nèi)核切換所導(dǎo)致的打開(kāi)窗口失敗的問(wèn)題,究其原因,在于子頁(yè)面繼承父頁(yè)面核心類型的窗口創(chuàng)建方式并沒(méi)有解決“核心切換這個(gè)動(dòng)作直接影響了源頁(yè)面的后續(xù)邏輯”的問(wèn)題。以下實(shí)施例可以應(yīng)用到多核瀏覽器(例如雙核瀏覽器)中,該瀏覽器可以是用在計(jì)算機(jī)上的瀏覽器,或者也可以是用在移動(dòng)設(shè)備上的瀏覽器。以使用微軟系統(tǒng)的PC為例,對(duì)于運(yùn)行在該系統(tǒng)的雙核瀏覽器而言,其具備兩個(gè)內(nèi)核:Trident內(nèi)核和Webkit內(nèi)核,當(dāng)用戶在這兩個(gè)內(nèi)核之間進(jìn)行切換時(shí),只要需要在新窗口中顯示的新頁(yè)面的內(nèi)核與源頁(yè)面的內(nèi)核不同時(shí),就可以使用適用以下實(shí)施例。但在實(shí)際應(yīng)用中,不但不限于此,對(duì)于移動(dòng)設(shè)備上的瀏覽器或者位于其他能夠安裝瀏覽器的設(shè)備上的瀏覽器均可以適用以下實(shí)施例。圖1是根據(jù)本發(fā)明實(shí)施例的瀏覽器窗口創(chuàng)建方法流程圖,如圖1所示,該方法包括以下步驟:步驟S102,為請(qǐng)求創(chuàng)建新窗口的源頁(yè)面創(chuàng)建空閑窗口和工作窗口,其中,空閑窗口與工作窗口分別由不同的瀏覽器內(nèi)核創(chuàng)建,且空閑窗口與源頁(yè)面通過(guò)同一個(gè)瀏...
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1