專利名稱:一種控制瀏覽器打開窗口的方法及網(wǎng)頁(yè)瀏覽器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種控制瀏覽器打開窗口的方法及網(wǎng)頁(yè)瀏
IrWSB 見益。
背景技術(shù):
互聯(lián)網(wǎng)和網(wǎng)頁(yè)技術(shù)的發(fā)展,各種網(wǎng)站都會(huì)通過不同的方式提供給用戶很多的信息資源。目前大部分用戶(俗稱網(wǎng)民)都是通過瀏覽器來瀏覽這些信息資源。瀏覽器(Browser)實(shí)際上是一個(gè)軟件程序,用于與萬維網(wǎng)(World wide flfeb,簡(jiǎn)稱 WWW)建立連接,并與之進(jìn)行通信。它可以在www系統(tǒng)中根據(jù)鏈接確定信息資源的位置,并將用戶感興趣的信息資源取回來,對(duì)HTML文件進(jìn)行解釋,然后將文字圖像或者將多媒體信息呈現(xiàn)出來。萬維網(wǎng)向?yàn)g覽器提供的信息資源良莠不齊,不乏提供給用戶大量的廣告和騷擾信息,其中很大一部分以自動(dòng)彈出式窗口的方式中斷用戶的正常瀏覽行為。這些自動(dòng)彈出式的窗口是一種不在用戶預(yù)期,通過用戶在瀏覽器上完成操作來自動(dòng)打開的窗口或者網(wǎng)頁(yè)。為此,在瀏覽器技術(shù)中提出了一種屏蔽網(wǎng)頁(yè)的技術(shù),即瀏覽器對(duì)網(wǎng)頁(yè)及其部分內(nèi)容的展示進(jìn)行阻止,并給予用戶相應(yīng)的提示。目前大多數(shù)瀏覽器通過對(duì)用戶瀏覽的網(wǎng)頁(yè)腳本進(jìn)行分析,根據(jù)分析結(jié)果來阻止響應(yīng)腳本運(yùn)行,以實(shí)現(xiàn)自動(dòng)彈出式窗口的屏蔽,可是隨著各種網(wǎng)頁(yè)手段的持續(xù)增加,自動(dòng)彈出式窗口的屬性與正常窗口屬性接近,導(dǎo)致瀏覽器根本無法通過對(duì)網(wǎng)頁(yè)腳本的分析對(duì)彈出式窗口和正常窗口實(shí)現(xiàn)快速有效的區(qū)分,常常會(huì)導(dǎo)致判斷失誤的情況。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種控制瀏覽器打開窗口的方法及網(wǎng)頁(yè)瀏覽器。可以對(duì)現(xiàn)有的瀏覽器網(wǎng)頁(yè)屏蔽技術(shù)進(jìn)行有效的補(bǔ)充,從而達(dá)到非正常網(wǎng)頁(yè)的有效屏蔽。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種控制瀏覽器打開窗口的方法, 包括獲取瀏覽器點(diǎn)擊操作命令;根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌,所述令牌用于控制新窗口的打開;當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌;在瀏覽器中打開發(fā)放有令牌的新窗口,并消耗發(fā)放的所述令牌。其中,所述根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌包括判斷所述點(diǎn)擊操作命令是否為打開窗口命令或flash上的點(diǎn)擊操作命令;當(dāng)判斷結(jié)果為是時(shí),產(chǎn)生令牌。上述的令牌可具有時(shí)效性,時(shí)效性是指當(dāng)所述令牌產(chǎn)生后超過第一預(yù)定時(shí)間,則所述令牌失效。上述流程中的根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌包括根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌;在獲得所述點(diǎn)擊操作命令后的第二預(yù)定時(shí)間內(nèi),對(duì)接收到的對(duì)同一個(gè)鏈接的點(diǎn)擊操作命令不產(chǎn)生令牌。在上述流程中的,判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌包括獲得屏蔽黑名單和屏蔽白名單,其中所述屏蔽黑名單中的元素對(duì)應(yīng)需要屏蔽的窗口,所述屏蔽黑名單中的元素對(duì)應(yīng)不予屏蔽的窗口 ;根據(jù)所述點(diǎn)擊操作命令、屏蔽黑名單和屏蔽白名單判斷當(dāng)前打開的新窗口是否為不予屏蔽的窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌?;虬ㄅ袛喈?dāng)前打開的新窗口是否為瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的第一個(gè)新窗口,若是第一個(gè)新窗口則為該窗口發(fā)放所述令牌,瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的其他新窗口均不發(fā)放令牌。相應(yīng)的,本發(fā)明實(shí)施例還提供一種網(wǎng)頁(yè)瀏覽器,包括命令獲取模塊,用于獲取瀏覽器點(diǎn)擊操作命令;令牌產(chǎn)生模塊,用于根據(jù)所述命令獲取模塊獲取的點(diǎn)擊操作命令產(chǎn)生令牌,所述令牌用于控制新窗口的打開;令牌發(fā)放模塊,用于當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌;窗口打開模塊,用于在瀏覽器中打開發(fā)放有令牌的新窗口,并消耗發(fā)放的所述令牌。其中,令牌產(chǎn)生模塊包括判斷單元,用于判斷所述點(diǎn)擊操作命令是否為打開窗口命令或flash上的點(diǎn)擊操作命令;產(chǎn)生單元,用于所述判斷單元的判斷結(jié)果為是時(shí),產(chǎn)生令牌。進(jìn)一步的,所述網(wǎng)頁(yè)瀏覽器還包括令牌管理模塊,用于對(duì)當(dāng)前已有的令牌進(jìn)行管理,當(dāng)所述令牌的存在時(shí)間超過第一預(yù)定時(shí)間時(shí),令所述令牌失效。上述的令牌產(chǎn)生模塊還用于根據(jù)所述點(diǎn)擊操作命令和預(yù)定條件產(chǎn)生令牌,所述預(yù)定條件是指在獲得所述點(diǎn)擊操作命令后的第二預(yù)定時(shí)間內(nèi),對(duì)接收到的對(duì)同一個(gè)鏈接的點(diǎn)擊操作命令不產(chǎn)生令牌。上述的令牌發(fā)放模塊還用于,當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的第一個(gè)新窗口,若是第一個(gè)新窗口則為該窗口發(fā)放所述令牌,瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的其他新窗口均不發(fā)放令牌。實(shí)施本發(fā)明實(shí)施例,具有如下有益效果在本發(fā)明實(shí)施例中通過發(fā)放令牌來實(shí)現(xiàn)網(wǎng)頁(yè)屏蔽,簡(jiǎn)化了現(xiàn)有屏蔽技術(shù)中對(duì)網(wǎng)頁(yè)腳本進(jìn)行分析的過程,可以提高屏蔽的效率。同時(shí),在本發(fā)明的具體實(shí)施例中通過彈出窗口的先后來進(jìn)行令牌的發(fā)放實(shí)現(xiàn)屏蔽,既符合用戶的使用習(xí)慣,又大大提高了屏蔽的速度降低了屏蔽的復(fù)雜性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例中的控制瀏覽器打開窗口的方法的一個(gè)具體流程示意圖;圖2是本發(fā)明實(shí)施例中的根據(jù)窗口的url判斷彈出窗口的方法的一個(gè)具體流程示意圖;圖3是本發(fā)明實(shí)施例中的瀏覽器與用戶交互的示意圖;圖4是本發(fā)明實(shí)施例中的網(wǎng)頁(yè)瀏覽器的組成示意圖;圖5是本發(fā)明實(shí)施例中的令牌產(chǎn)生模塊的組成示意圖;圖6是本發(fā)明實(shí)施例中的令牌發(fā)放模塊的組成示意圖;圖7是本發(fā)明實(shí)施例中的網(wǎng)頁(yè)瀏覽器的另一組成示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。令牌是我國(guó)古代軍事所用的一種工具,誰拿到了令牌就可以發(fā)號(hào)施令,在本發(fā)明實(shí)施例中將令牌引申定為瀏覽器控制窗口打開的一種方式,哪個(gè)網(wǎng)頁(yè)拿到令牌就可以新建一個(gè)窗口,反之則屏蔽。即,在本發(fā)明實(shí)施例中采用令牌發(fā)放來進(jìn)行網(wǎng)頁(yè)屏蔽,如圖1所示, 為本發(fā)明實(shí)施例中的控制瀏覽器打開窗口的方法,該方法包括101、獲取瀏覽器點(diǎn)擊操作命令。其中,在獲取時(shí)可以進(jìn)行判斷,僅獲取打開窗口命令或flash上的點(diǎn)擊操作命令。102、根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌,所述令牌用于控制新窗口的打開。其中,在產(chǎn)生令牌時(shí)可以判斷所述點(diǎn)擊操作命令是否為打開窗口命令或flash上的點(diǎn)擊操作命令; 當(dāng)判斷結(jié)果為是時(shí),才產(chǎn)生令牌。當(dāng)然,若在步驟101中已經(jīng)包括了判斷過程,則本步驟中可以不進(jìn)行判斷。由于flash (flash是美國(guó)Macromedia公司所設(shè)計(jì)的一種二維矢量動(dòng)畫軟件,現(xiàn)為 Adobe公司產(chǎn)品,用于設(shè)計(jì)和編輯flash文檔)的多樣性和黑盒性,因此可以對(duì)在flash上的點(diǎn)擊行為不做具體區(qū)別,對(duì)于flash上的點(diǎn)擊發(fā)放一個(gè)令牌。這個(gè)判斷針對(duì)flash使用的廣泛性和flash自身的獨(dú)立性,放寬了 flash上的點(diǎn)擊行為,不要求點(diǎn)擊動(dòng)作一定發(fā)生在鼠標(biāo)變手型的情況下。由于瀏覽器上的點(diǎn)擊操作命令的產(chǎn)生有可能是用戶點(diǎn)擊特定位置從而打開新的網(wǎng)頁(yè)鏈接(即打開新窗口),也有可能只是用戶需要在網(wǎng)頁(yè)中進(jìn)行填表、輸入對(duì)話框等操作,在本發(fā)明的一些具體實(shí)施例中僅對(duì)打開新窗口的點(diǎn)擊操作命令發(fā)放令牌,實(shí)現(xiàn)新窗口的打開屏蔽,而對(duì)于經(jīng)常用到的用戶與瀏覽器間的交互提示框不做屏蔽,如window, alert, window, promtλ window. Confirm0在產(chǎn)生令牌時(shí),一方面,由于有可能令牌產(chǎn)生后并沒有被使用或消耗,而一直存在著,這會(huì)影響下一次瀏覽器操作時(shí)的令牌的作用,因此,在本發(fā)明的一些實(shí)施例中為已產(chǎn)生的令牌設(shè)置了時(shí)效性,當(dāng)令牌產(chǎn)生后超過第一預(yù)定時(shí)間時(shí),則該令牌失效。該第一預(yù)定時(shí)間可以為系統(tǒng)默認(rèn)設(shè)置,也可以由瀏覽器使用者進(jìn)行設(shè)置。在設(shè)置具體數(shù)值時(shí),主要可參考統(tǒng)計(jì)上的兩次打開窗口操作的間隔時(shí)間。另一方面,還可能需要考慮用戶對(duì)瀏覽器的點(diǎn)擊操作命令中可能存在誤操作的情況,即在用戶使用瀏覽器的過程中存在客觀因素可能帶來的用戶誤操作情況,如鼠標(biāo)故障或不經(jīng)意造成的短時(shí)間內(nèi)連續(xù)點(diǎn)擊同一個(gè)url鏈接時(shí)的情況。對(duì)于這種重復(fù)的允許行為可以只導(dǎo)致一個(gè)令牌的產(chǎn)生,這樣就不會(huì)出現(xiàn)多個(gè)彈窗同時(shí)出現(xiàn)的情況。在本發(fā)明的一些具體實(shí)施例中,在本步驟中,可在獲得所述點(diǎn)擊操作命令后的第二預(yù)定時(shí)間內(nèi),對(duì)接收到的對(duì)同一個(gè)鏈接的點(diǎn)擊操作命令不產(chǎn)生令牌。如,通過設(shè)置一個(gè)令牌時(shí)延(t),從第一個(gè)點(diǎn)擊事件開始t時(shí)間內(nèi)對(duì)同一個(gè)鏈接的其它點(diǎn)擊不發(fā)放令牌。103、當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌。其中,考慮到瀏覽(即正常的新窗口打開)和彈窗(即用戶不希望的窗口如廣告窗口的打開等)同時(shí)發(fā)生的可能性(即一次點(diǎn)擊行為可能觸發(fā)多個(gè)彈窗,而用戶角度能接受的一次點(diǎn)擊只能觸發(fā)一個(gè)彈窗,一次點(diǎn)擊觸發(fā)多個(gè)彈窗的設(shè)計(jì)被看作是不規(guī)范的),并且通過數(shù)據(jù)統(tǒng)計(jì)二者的發(fā)生一般有先后順序,且前者在先的概率為九成以上,那么在本步驟中可設(shè)計(jì)為僅打開多個(gè)窗口中的第一個(gè)判斷當(dāng)前打開的新窗口是否為瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的第一個(gè)新窗口,若是第一個(gè)新窗口則為該窗口發(fā)放所述令牌,瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的其他新窗口均不發(fā)放令牌。當(dāng)然,在本步驟中判斷當(dāng)前打開的新窗口是否為正常窗口時(shí),也可以對(duì)網(wǎng)址進(jìn)行判定,對(duì)符合規(guī)定的網(wǎng)址即為其打開對(duì)應(yīng)的新窗口。如,對(duì)多個(gè)窗口進(jìn)行url判定,判定彈窗url與點(diǎn)擊窗口之間的關(guān)系,一般彈窗與點(diǎn)擊窗口 url會(huì)不一致,當(dāng)多個(gè)需打開的新窗口和點(diǎn)擊窗口都存在聯(lián)系,允許前一個(gè)發(fā)生行為;當(dāng)只有一個(gè)窗口與點(diǎn)擊窗口存在聯(lián)系,則打開該有聯(lián)系的窗口屏蔽其他的窗口,該流程如圖2所示。另一方面,網(wǎng)頁(yè)千變?nèi)f化,所有的網(wǎng)頁(yè)都可能會(huì)存在誤屏蔽和漏屏蔽的情況,在用戶角度考慮,將用戶需要正常瀏覽的網(wǎng)頁(yè)誤屏蔽會(huì)導(dǎo)致用戶網(wǎng)頁(yè)操作的不順暢,而漏屏蔽會(huì)達(dá)不到用戶需要的屏蔽效果。結(jié)合瀏覽器與用戶可以手動(dòng)設(shè)置進(jìn)行交互的優(yōu)點(diǎn),為本步驟可設(shè)計(jì)一補(bǔ)充方案A、獲得屏蔽黑名單和屏蔽白名單,其中所述屏蔽黑名單中的元素對(duì)應(yīng)需要屏蔽的窗口,所述屏蔽黑名單中的元素對(duì)應(yīng)不予屏蔽的窗口 ;B、根據(jù)所述點(diǎn)擊操作命令、屏蔽黑名單和屏蔽白名單判斷當(dāng)前打開的新窗口是否為不予屏蔽的窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌。
其中,屏蔽黑名單將網(wǎng)頁(yè)或網(wǎng)頁(yè)中對(duì)應(yīng)的元素,比如flash、插件添加到黑名單中,下次打開此網(wǎng)頁(yè)或者包含此類元素的網(wǎng)頁(yè)會(huì)自動(dòng)被屏蔽;屏蔽白名單此類網(wǎng)頁(yè)在適合當(dāng)前屏蔽的條件下,白名單中網(wǎng)頁(yè)不予屏蔽,進(jìn)行放行。屏蔽黑名單和屏蔽白名單可以由用戶進(jìn)行設(shè)置,也可以由瀏覽器根據(jù)一定規(guī)則進(jìn)行設(shè)置。在設(shè)置時(shí),對(duì)于屏蔽黑名單,將將網(wǎng)頁(yè)元素添加到其中,下次打開網(wǎng)頁(yè)針對(duì)此類元素進(jìn)行屏蔽。對(duì)于屏蔽白名單,將網(wǎng)頁(yè)元素添加到其中,下次打開網(wǎng)頁(yè)對(duì)此類元素進(jìn)行完整顯不。104、在瀏覽器中打開發(fā)放有令牌的新窗口,并消耗發(fā)放的所述令牌。其中,在瀏覽器中打開新窗口并對(duì)用戶進(jìn)行顯示時(shí),可能是替換瀏覽器中當(dāng)前被點(diǎn)擊的窗口顯示新的窗口,也可以是在瀏覽器中對(duì)用戶顯示新的窗口頁(yè),在新窗口頁(yè)中顯示該新的窗口。同時(shí),上述的瀏覽器可以是單窗多頁(yè)瀏覽器,如,Maxthon瀏覽器、谷歌瀏覽器等; 也可以是單窗單頁(yè)瀏覽器,如,微軟的hternet Explorer瀏覽器等。在上述瀏覽器窗口屏蔽技術(shù)中,為了統(tǒng)一管理并且不遺漏發(fā)放令牌的行為,可以 Hook整個(gè)瀏覽器的消息處理,這樣flash等的點(diǎn)擊行為都會(huì)被記錄,即Hook瀏覽器行為信息進(jìn)行判斷是否有允許的行為出現(xiàn),從而決定是否發(fā)放令牌。Hook 鉤子,是Windows消息處理機(jī)制的一個(gè)平臺(tái),應(yīng)用程序可以在上面設(shè)置子程以監(jiān)視指定窗口的某種消息,而且所監(jiān)視的窗口可以是其他進(jìn)程所創(chuàng)建的。當(dāng)消息到達(dá)后,在目標(biāo)窗口處理函數(shù)之前處理它。鉤子機(jī)制允許應(yīng)用程序截獲處理window消息或特定事件。如圖3所示,為本發(fā)明實(shí)施例中用戶與瀏覽器交互時(shí)的情況。其中,用戶的網(wǎng)頁(yè)點(diǎn)擊操作包括點(diǎn)擊鏈接文字、圖片、按鈕等操作。同時(shí),若屏蔽了彈出窗口,瀏覽器可以生成提示信息并對(duì)用戶顯示,如當(dāng)產(chǎn)生彈出窗口屏蔽時(shí),可使瀏覽器下端的屏蔽按鈕點(diǎn)亮,用戶點(diǎn)擊該按鈕就可以看到已被屏蔽的彈出窗口的信息,用戶可以選擇是否打開該窗口,或是將該窗口對(duì)應(yīng)的url鏈接信息加入屏蔽黑白名單中。在本發(fā)明實(shí)施例中通過發(fā)放令牌來實(shí)現(xiàn)網(wǎng)頁(yè)屏蔽,簡(jiǎn)化了現(xiàn)有屏蔽技術(shù)中對(duì)網(wǎng)頁(yè)腳本進(jìn)行分析的過程,可以提高屏蔽的效率。同時(shí),在本發(fā)明的具體實(shí)施例中通過彈出窗口的先后來進(jìn)行令牌的發(fā)放實(shí)現(xiàn)屏蔽,既符合用戶的使用習(xí)慣,又大大提高了屏蔽的速度降低了屏蔽的復(fù)雜性。而屏蔽黑白名單的設(shè)置,又為用戶提供了一個(gè)自定義設(shè)置的途徑,使屏蔽在保持高效的同時(shí)能夠最大程度的滿足用戶的需要。相應(yīng)的,本發(fā)明實(shí)施例還提供了一種網(wǎng)頁(yè)瀏覽器,如圖4所示,網(wǎng)頁(yè)瀏覽器包括命令獲取模塊30,用于獲取瀏覽器點(diǎn)擊操作命令。令牌產(chǎn)生模塊32,用于根據(jù)所述命令獲取模塊30獲取的點(diǎn)擊操作命令產(chǎn)生令牌, 所述令牌用于控制新窗口的打開。其中,如圖5所示,該令牌產(chǎn)生模塊32可進(jìn)一步包括包括判斷單元322,用于判斷所述點(diǎn)擊操作命令是否為打開窗口命令或flash上的點(diǎn)擊操作命令;產(chǎn)生單元324,用于所述判斷單元的判斷結(jié)果為是時(shí),產(chǎn)生令牌。同時(shí),令牌產(chǎn)生模塊32還用于根據(jù)所述點(diǎn)擊操作命令和預(yù)定條件產(chǎn)生令牌,所述預(yù)定條件是指在獲得所述點(diǎn)擊操作命令后的第二預(yù)定時(shí)間內(nèi),對(duì)接收到的對(duì)同一個(gè)鏈接的點(diǎn)擊操作命令不產(chǎn)生令牌。
令牌發(fā)放模塊34,用于當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口則發(fā)放令牌產(chǎn)生模塊32產(chǎn)生的令牌, 否則不發(fā)放令牌。其中,令牌發(fā)放模塊34還用于,當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的第一個(gè)新窗口,若是第一個(gè)新窗口則為該窗口發(fā)放所述令牌,瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的其他新窗口均不發(fā)放令牌?;蛘撸鐖D6所示,令牌發(fā)放模塊34還包括名單獲取單元342,用于獲得屏蔽黑名單和屏蔽白名單,其中所述屏蔽黑名單中的元素對(duì)應(yīng)需要屏蔽的窗口,所述屏蔽黑名單中的元素對(duì)應(yīng)不予屏蔽的窗口 ;令牌發(fā)放單元344,用于根據(jù)所述根據(jù)所述點(diǎn)擊操作命令、 屏蔽黑名單和屏蔽白名單判斷當(dāng)前打開的新窗口是否為不予屏蔽的窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌。窗口打開模塊36,用于在瀏覽器中打開發(fā)放有令牌的新窗口,并消耗發(fā)放的所述令牌。如圖7所示,本發(fā)明實(shí)施例中的網(wǎng)頁(yè)瀏覽器還可還可包括令牌管理模塊38,用于對(duì)當(dāng)前已有的令牌進(jìn)行管理,當(dāng)所述令牌的存在時(shí)間超過第一預(yù)定時(shí)間時(shí),令所述令牌失效。令牌管理模塊38對(duì)令牌的管理還可以包括,對(duì)令牌發(fā)放模塊34發(fā)放的令牌進(jìn)行記錄, 當(dāng)窗口打開模塊36消耗令牌時(shí)進(jìn)行記錄,如維持一個(gè)令牌表,當(dāng)產(chǎn)生新令牌時(shí),將新令牌的信息填入該表中,當(dāng)令牌消耗時(shí)從令牌表中刪除該令牌的記錄,而表中記錄的令牌信息可以包括令牌的時(shí)效、還有前述的時(shí)延、分配的窗口等等;當(dāng)令牌的時(shí)效到期時(shí),也可以從令牌表中刪除該令牌的記錄。需要說明的,在上述網(wǎng)頁(yè)瀏覽器實(shí)施例中涉及的術(shù)語、功能等都與前述實(shí)施例中的一致,此處不做一一贅述。在本發(fā)明實(shí)施例中通過發(fā)放令牌來實(shí)現(xiàn)網(wǎng)頁(yè)屏蔽,簡(jiǎn)化了現(xiàn)有屏蔽技術(shù)中對(duì)網(wǎng)頁(yè)腳本進(jìn)行分析的過程,可以提高屏蔽的效率。同時(shí),在本發(fā)明的具體實(shí)施例中通過彈出窗口的先后來進(jìn)行令牌的發(fā)放實(shí)現(xiàn)屏蔽,既符合用戶的使用習(xí)慣,又大大提高了屏蔽的速度降低了屏蔽的復(fù)雜性。而屏蔽黑白名單的設(shè)置,又為用戶提供了一個(gè)自定義設(shè)置的途徑,使屏蔽在保持高效的同時(shí)能夠最大程度的滿足用戶的需要。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種控制瀏覽器打開窗口的方法,其特征在于,所述方法包括 獲取瀏覽器點(diǎn)擊操作命令;根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌,所述令牌用于控制新窗口的打開; 當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌;在瀏覽器中打開發(fā)放有令牌的新窗口,并消耗發(fā)放的所述令牌。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌包括 判斷所述點(diǎn)擊操作命令是否為打開窗口命令或flash上的點(diǎn)擊操作命令;當(dāng)判斷結(jié)果為是時(shí),產(chǎn)生令牌。
3.如權(quán)利要求2所述的方法,其特征在于,所述令牌具有時(shí)效性,其中,所述時(shí)效性是指當(dāng)所述令牌產(chǎn)生后超過第一預(yù)定時(shí)間,則所述令牌失效。
4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌包括 根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌;在獲得所述點(diǎn)擊操作命令后的第二預(yù)定時(shí)間內(nèi),對(duì)接收到的對(duì)同一個(gè)鏈接的點(diǎn)擊操作命令不產(chǎn)生令牌。
5.如權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌包括獲得屏蔽黑名單和屏蔽白名單,其中所述屏蔽黑名單中的元素對(duì)應(yīng)需要屏蔽的窗口, 所述屏蔽黑名單中的元素對(duì)應(yīng)不予屏蔽的窗口;根據(jù)所述點(diǎn)擊操作命令、屏蔽黑名單和屏蔽白名單判斷當(dāng)前打開的新窗口是否為不予屏蔽的窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌。
6.如權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,所述判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌包括判斷當(dāng)前打開的新窗口是否為瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的第一個(gè)新窗口,若是第一個(gè)新窗口則為該窗口發(fā)放所述令牌,瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的其他新窗口均不發(fā)放令牌。
7.一種網(wǎng)頁(yè)瀏覽器,其特征在于,所述網(wǎng)頁(yè)瀏覽器包括 命令獲取模塊,用于獲取瀏覽器點(diǎn)擊操作命令;令牌產(chǎn)生模塊,用于根據(jù)所述命令獲取模塊獲取的點(diǎn)擊操作命令產(chǎn)生令牌,所述令牌用于控制新窗口的打開;令牌發(fā)放模塊,用于當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌;窗口打開模塊,用于在瀏覽器中打開發(fā)放有令牌的新窗口,并消耗發(fā)放的所述令牌。
8.如權(quán)利要求7所述的網(wǎng)頁(yè)瀏覽器,其特征在于,所述令牌產(chǎn)生模塊包括判斷單元,用于判斷所述點(diǎn)擊操作命令是否為打開窗口命令或flash上的點(diǎn)擊操作命令;產(chǎn)生單元,用于所述判斷單元的判斷結(jié)果為是時(shí),產(chǎn)生令牌。
9.如權(quán)利要求8所述的網(wǎng)頁(yè)瀏覽器,其特征在于,所述網(wǎng)頁(yè)瀏覽器還包括令牌管理模塊,用于對(duì)當(dāng)前已有的令牌進(jìn)行管理,當(dāng)所述令牌的存在時(shí)間超過第一預(yù)定時(shí)間時(shí),令所述令牌失效。
10.如權(quán)利要求7所述的網(wǎng)頁(yè)瀏覽器,其特征在于,所述令牌產(chǎn)生模塊還用于根據(jù)所述點(diǎn)擊操作命令和預(yù)定條件產(chǎn)生令牌,所述預(yù)定條件是指在獲得所述點(diǎn)擊操作命令后的第二預(yù)定時(shí)間內(nèi),對(duì)接收到的對(duì)同一個(gè)鏈接的點(diǎn)擊操作命令不產(chǎn)生令牌。
11.如權(quán)利要求7至10中任意一項(xiàng)所述的網(wǎng)頁(yè)瀏覽器,其特征在于,所述令牌發(fā)放模塊還用于,當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的第一個(gè)新窗口,若是第一個(gè)新窗口則為該窗口發(fā)放所述令牌,瀏覽器響應(yīng)所述點(diǎn)擊操作命令產(chǎn)生的其他新窗口均不發(fā)放令牌。
12.如權(quán)利要求7至10中任意一項(xiàng)所述的網(wǎng)頁(yè)瀏覽器,其特征在于,所述令牌發(fā)放模塊還包括名單獲取單元,用于獲得屏蔽黑名單和屏蔽白名單,其中所述屏蔽黑名單中的元素對(duì)應(yīng)需要屏蔽的窗口,所述屏蔽黑名單中的元素對(duì)應(yīng)不予屏蔽的窗口 ;令牌發(fā)放單元,用于根據(jù)所述根據(jù)所述點(diǎn)擊操作命令、屏蔽黑名單和屏蔽白名單判斷當(dāng)前打開的新窗口是否為不予屏蔽的窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌。
全文摘要
本發(fā)明實(shí)施例公開了一種控制瀏覽器打開窗口的方法及網(wǎng)頁(yè)瀏覽器,該方法包括獲取瀏覽器點(diǎn)擊操作命令;根據(jù)所述點(diǎn)擊操作命令產(chǎn)生令牌,所述令牌用于控制新窗口的打開;當(dāng)所述瀏覽器根據(jù)所述點(diǎn)擊操作命令打開新窗口時(shí),判斷當(dāng)前打開的新窗口是否為正常窗口,若是則為該窗口發(fā)放所述令牌,否則不發(fā)放令牌;在瀏覽器中打開發(fā)放有令牌的新窗口,并消耗發(fā)放的所述令牌。在本發(fā)明實(shí)施例中通過發(fā)放令牌來實(shí)現(xiàn)網(wǎng)頁(yè)屏蔽,簡(jiǎn)化了現(xiàn)有屏蔽技術(shù)中對(duì)網(wǎng)頁(yè)腳本進(jìn)行分析的過程,可以提高屏蔽的效率。
文檔編號(hào)G06F3/048GK102385583SQ20101026868
公開日2012年3月21日 申請(qǐng)日期2010年8月31日 優(yōu)先權(quán)日2010年8月31日
發(fā)明者劉方敏, 楊麗 申請(qǐng)人:騰訊科技(深圳)有限公司