专利名称:一种控制浏览器打开窗口的方法及网页浏览器的制作方法
技术领域:
本发明涉及互联网技术领域,尤其涉及一种控制浏览器打开窗口的方法及网页浏
IrWSB 见益。
背景技术:
互联网和网页技术的发展,各种网站都会通过不同的方式提供给用户很多的信息资源。目前大部分用户(俗称网民)都是通过浏览器来浏览这些信息资源。浏览器(Browser)实际上是一个软件程序,用于与万维网(World wide flfeb,简称 WWW)建立连接,并与之进行通信。它可以在www系统中根据链接确定信息资源的位置,并将用户感兴趣的信息资源取回来,对HTML文件进行解释,然后将文字图像或者将多媒体信息呈现出来。万维网向浏览器提供的信息资源良莠不齐,不乏提供给用户大量的广告和騷扰信息,其中很大一部分以自动弹出式窗口的方式中断用户的正常浏览行为。这些自动弹出式的窗口是一种不在用户预期,通过用户在浏览器上完成操作来自动打开的窗口或者网页。为此,在浏览器技术中提出了一种屏蔽网页的技术,即浏览器对网页及其部分内容的展示进行阻止,并给予用户相应的提示。目前大多数浏览器通过对用户浏览的网页脚本进行分析,根据分析结果来阻止响应脚本运行,以实现自动弹出式窗口的屏蔽,可是随着各种网页手段的持续增加,自动弹出式窗口的属性与正常窗口属性接近,导致浏览器根本无法通过对网页脚本的分析对弹出式窗口和正常窗口实现快速有效的区分,常常会导致判断失误的情况。
发明内容
本发明实施例所要解决的技术问题在于,提供一种控制浏览器打开窗口的方法及网页浏览器。可以对现有的浏览器网页屏蔽技术进行有效的补充,从而达到非正常网页的有效屏蔽。为了解决上述技术问题,本发明实施例提供了一种控制浏览器打开窗口的方法, 包括获取浏览器点击操作命令;根据所述点击操作命令产生令牌,所述令牌用于控制新窗口的打开;当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌;在浏览器中打开发放有令牌的新窗口,并消耗发放的所述令牌。其中,所述根据所述点击操作命令产生令牌包括判断所述点击操作命令是否为打开窗口命令或flash上的点击操作命令;当判断结果为是时,产生令牌。上述的令牌可具有时效性,时效性是指当所述令牌产生后超过第一预定时间,则所述令牌失效。上述流程中的根据所述点击操作命令产生令牌包括根据所述点击操作命令产生令牌;在获得所述点击操作命令后的第二预定时间内,对接收到的对同一个链接的点击操作命令不产生令牌。在上述流程中的,判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌包括获得屏蔽黑名单和屏蔽白名单,其中所述屏蔽黑名单中的元素对应需要屏蔽的窗口,所述屏蔽黑名单中的元素对应不予屏蔽的窗口 ;根据所述点击操作命令、屏蔽黑名单和屏蔽白名单判断当前打开的新窗口是否为不予屏蔽的窗口,若是则为该窗口发放所述令牌,否则不发放令牌。或包括判断当前打开的新窗口是否为浏览器响应所述点击操作命令产生的第一个新窗口,若是第一个新窗口则为该窗口发放所述令牌,浏览器响应所述点击操作命令产生的其他新窗口均不发放令牌。相应的,本发明实施例还提供一种网页浏览器,包括命令获取模块,用于获取浏览器点击操作命令;令牌产生模块,用于根据所述命令获取模块获取的点击操作命令产生令牌,所述令牌用于控制新窗口的打开;令牌发放模块,用于当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌;窗口打开模块,用于在浏览器中打开发放有令牌的新窗口,并消耗发放的所述令牌。其中,令牌产生模块包括判断单元,用于判断所述点击操作命令是否为打开窗口命令或flash上的点击操作命令;产生单元,用于所述判断单元的判断结果为是时,产生令牌。进一步的,所述网页浏览器还包括令牌管理模块,用于对当前已有的令牌进行管理,当所述令牌的存在时间超过第一预定时间时,令所述令牌失效。上述的令牌产生模块还用于根据所述点击操作命令和预定条件产生令牌,所述预定条件是指在获得所述点击操作命令后的第二预定时间内,对接收到的对同一个链接的点击操作命令不产生令牌。上述的令牌发放模块还用于,当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为浏览器响应所述点击操作命令产生的第一个新窗口,若是第一个新窗口则为该窗口发放所述令牌,浏览器响应所述点击操作命令产生的其他新窗口均不发放令牌。实施本发明实施例,具有如下有益效果在本发明实施例中通过发放令牌来实现网页屏蔽,简化了现有屏蔽技术中对网页脚本进行分析的过程,可以提高屏蔽的效率。同时,在本发明的具体实施例中通过弹出窗口的先后来进行令牌的发放实现屏蔽,既符合用户的使用习惯,又大大提高了屏蔽的速度降低了屏蔽的复杂性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例中的控制浏览器打开窗口的方法的一个具体流程示意图;图2是本发明实施例中的根据窗口的url判断弹出窗口的方法的一个具体流程示意图;图3是本发明实施例中的浏览器与用户交互的示意图;图4是本发明实施例中的网页浏览器的组成示意图;图5是本发明实施例中的令牌产生模块的组成示意图;图6是本发明实施例中的令牌发放模块的组成示意图;图7是本发明实施例中的网页浏览器的另一组成示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。令牌是我国古代军事所用的一种工具,谁拿到了令牌就可以发号施令,在本发明实施例中将令牌引申定为浏览器控制窗口打开的一种方式,哪个网页拿到令牌就可以新建一个窗口,反之则屏蔽。即,在本发明实施例中采用令牌发放来进行网页屏蔽,如图1所示, 为本发明实施例中的控制浏览器打开窗口的方法,该方法包括101、获取浏览器点击操作命令。其中,在获取时可以进行判断,仅获取打开窗口命令或flash上的点击操作命令。102、根据所述点击操作命令产生令牌,所述令牌用于控制新窗口的打开。其中,在产生令牌时可以判断所述点击操作命令是否为打开窗口命令或flash上的点击操作命令; 当判断结果为是时,才产生令牌。当然,若在步骤101中已经包括了判断过程,则本步骤中可以不进行判断。由于flash (flash是美国Macromedia公司所设计的一种二维矢量动画软件,现为 Adobe公司产品,用于设计和编辑flash文档)的多样性和黑盒性,因此可以对在flash上的点击行为不做具体区别,对于flash上的点击发放一个令牌。这个判断针对flash使用的广泛性和flash自身的独立性,放宽了 flash上的点击行为,不要求点击动作一定发生在鼠标变手型的情况下。由于浏览器上的点击操作命令的产生有可能是用户点击特定位置从而打开新的网页链接(即打开新窗口),也有可能只是用户需要在网页中进行填表、输入对话框等操作,在本发明的一些具体实施例中仅对打开新窗口的点击操作命令发放令牌,实现新窗口的打开屏蔽,而对于经常用到的用户与浏览器间的交互提示框不做屏蔽,如window, alert, window, promtλ window. Confirm0在产生令牌时,一方面,由于有可能令牌产生后并没有被使用或消耗,而一直存在着,这会影响下一次浏览器操作时的令牌的作用,因此,在本发明的一些实施例中为已产生的令牌设置了时效性,当令牌产生后超过第一预定时间时,则该令牌失效。该第一预定时间可以为系统默认设置,也可以由浏览器使用者进行设置。在设置具体数值时,主要可参考统计上的两次打开窗口操作的间隔时间。另一方面,还可能需要考虑用户对浏览器的点击操作命令中可能存在误操作的情况,即在用户使用浏览器的过程中存在客观因素可能带来的用户误操作情况,如鼠标故障或不经意造成的短时间内连续点击同一个url链接时的情况。对于这种重复的允许行为可以只导致一个令牌的产生,这样就不会出现多个弹窗同时出现的情况。在本发明的一些具体实施例中,在本步骤中,可在获得所述点击操作命令后的第二预定时间内,对接收到的对同一个链接的点击操作命令不产生令牌。如,通过设置一个令牌时延(t),从第一个点击事件开始t时间内对同一个链接的其它点击不发放令牌。103、当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌。其中,考虑到浏览(即正常的新窗口打开)和弹窗(即用户不希望的窗口如广告窗口的打开等)同时发生的可能性(即一次点击行为可能触发多个弹窗,而用户角度能接受的一次点击只能触发一个弹窗,一次点击触发多个弹窗的设计被看作是不规范的),并且通过数据统计二者的发生一般有先后顺序,且前者在先的概率为九成以上,那么在本步骤中可设计为仅打开多个窗口中的第一个判断当前打开的新窗口是否为浏览器响应所述点击操作命令产生的第一个新窗口,若是第一个新窗口则为该窗口发放所述令牌,浏览器响应所述点击操作命令产生的其他新窗口均不发放令牌。当然,在本步骤中判断当前打开的新窗口是否为正常窗口时,也可以对网址进行判定,对符合规定的网址即为其打开对应的新窗口。如,对多个窗口进行url判定,判定弹窗url与点击窗口之间的关系,一般弹窗与点击窗口 url会不一致,当多个需打开的新窗口和点击窗口都存在联系,允许前一个发生行为;当只有一个窗口与点击窗口存在联系,则打开该有联系的窗口屏蔽其他的窗口,该流程如图2所示。另一方面,网页千变万化,所有的网页都可能会存在误屏蔽和漏屏蔽的情况,在用户角度考虑,将用户需要正常浏览的网页误屏蔽会导致用户网页操作的不顺畅,而漏屏蔽会达不到用户需要的屏蔽效果。结合浏览器与用户可以手动设置进行交互的优点,为本步骤可设计一补充方案A、获得屏蔽黑名单和屏蔽白名单,其中所述屏蔽黑名单中的元素对应需要屏蔽的窗口,所述屏蔽黑名单中的元素对应不予屏蔽的窗口 ;B、根据所述点击操作命令、屏蔽黑名单和屏蔽白名单判断当前打开的新窗口是否为不予屏蔽的窗口,若是则为该窗口发放所述令牌,否则不发放令牌。
其中,屏蔽黑名单将网页或网页中对应的元素,比如flash、插件添加到黑名单中,下次打开此网页或者包含此类元素的网页会自动被屏蔽;屏蔽白名单此类网页在适合当前屏蔽的条件下,白名单中网页不予屏蔽,进行放行。屏蔽黑名单和屏蔽白名单可以由用户进行设置,也可以由浏览器根据一定规则进行设置。在设置时,对于屏蔽黑名单,将将网页元素添加到其中,下次打开网页针对此类元素进行屏蔽。对于屏蔽白名单,将网页元素添加到其中,下次打开网页对此类元素进行完整显不。104、在浏览器中打开发放有令牌的新窗口,并消耗发放的所述令牌。其中,在浏览器中打开新窗口并对用户进行显示时,可能是替换浏览器中当前被点击的窗口显示新的窗口,也可以是在浏览器中对用户显示新的窗口页,在新窗口页中显示该新的窗口。同时,上述的浏览器可以是单窗多页浏览器,如,Maxthon浏览器、谷歌浏览器等; 也可以是单窗单页浏览器,如,微软的hternet Explorer浏览器等。在上述浏览器窗口屏蔽技术中,为了统一管理并且不遗漏发放令牌的行为,可以 Hook整个浏览器的消息处理,这样flash等的点击行为都会被记录,即Hook浏览器行为信息进行判断是否有允许的行为出现,从而决定是否发放令牌。Hook 钩子,是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。如图3所示,为本发明实施例中用户与浏览器交互时的情况。其中,用户的网页点击操作包括点击链接文字、图片、按钮等操作。同时,若屏蔽了弹出窗口,浏览器可以生成提示信息并对用户显示,如当产生弹出窗口屏蔽时,可使浏览器下端的屏蔽按钮点亮,用户点击该按钮就可以看到已被屏蔽的弹出窗口的信息,用户可以选择是否打开该窗口,或是将该窗口对应的url链接信息加入屏蔽黑白名单中。在本发明实施例中通过发放令牌来实现网页屏蔽,简化了现有屏蔽技术中对网页脚本进行分析的过程,可以提高屏蔽的效率。同时,在本发明的具体实施例中通过弹出窗口的先后来进行令牌的发放实现屏蔽,既符合用户的使用习惯,又大大提高了屏蔽的速度降低了屏蔽的复杂性。而屏蔽黑白名单的设置,又为用户提供了一个自定义设置的途径,使屏蔽在保持高效的同时能够最大程度的满足用户的需要。相应的,本发明实施例还提供了一种网页浏览器,如图4所示,网页浏览器包括命令获取模块30,用于获取浏览器点击操作命令。令牌产生模块32,用于根据所述命令获取模块30获取的点击操作命令产生令牌, 所述令牌用于控制新窗口的打开。其中,如图5所示,该令牌产生模块32可进一步包括包括判断单元322,用于判断所述点击操作命令是否为打开窗口命令或flash上的点击操作命令;产生单元324,用于所述判断单元的判断结果为是时,产生令牌。同时,令牌产生模块32还用于根据所述点击操作命令和预定条件产生令牌,所述预定条件是指在获得所述点击操作命令后的第二预定时间内,对接收到的对同一个链接的点击操作命令不产生令牌。
令牌发放模块34,用于当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为正常窗口,若是则为该窗口则发放令牌产生模块32产生的令牌, 否则不发放令牌。其中,令牌发放模块34还用于,当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为浏览器响应所述点击操作命令产生的第一个新窗口,若是第一个新窗口则为该窗口发放所述令牌,浏览器响应所述点击操作命令产生的其他新窗口均不发放令牌。或者,如图6所示,令牌发放模块34还包括名单获取单元342,用于获得屏蔽黑名单和屏蔽白名单,其中所述屏蔽黑名单中的元素对应需要屏蔽的窗口,所述屏蔽黑名单中的元素对应不予屏蔽的窗口 ;令牌发放单元344,用于根据所述根据所述点击操作命令、 屏蔽黑名单和屏蔽白名单判断当前打开的新窗口是否为不予屏蔽的窗口,若是则为该窗口发放所述令牌,否则不发放令牌。窗口打开模块36,用于在浏览器中打开发放有令牌的新窗口,并消耗发放的所述令牌。如图7所示,本发明实施例中的网页浏览器还可还可包括令牌管理模块38,用于对当前已有的令牌进行管理,当所述令牌的存在时间超过第一预定时间时,令所述令牌失效。令牌管理模块38对令牌的管理还可以包括,对令牌发放模块34发放的令牌进行记录, 当窗口打开模块36消耗令牌时进行记录,如维持一个令牌表,当产生新令牌时,将新令牌的信息填入该表中,当令牌消耗时从令牌表中删除该令牌的记录,而表中记录的令牌信息可以包括令牌的时效、还有前述的时延、分配的窗口等等;当令牌的时效到期时,也可以从令牌表中删除该令牌的记录。需要说明的,在上述网页浏览器实施例中涉及的术语、功能等都与前述实施例中的一致,此处不做一一赘述。在本发明实施例中通过发放令牌来实现网页屏蔽,简化了现有屏蔽技术中对网页脚本进行分析的过程,可以提高屏蔽的效率。同时,在本发明的具体实施例中通过弹出窗口的先后来进行令牌的发放实现屏蔽,既符合用户的使用习惯,又大大提高了屏蔽的速度降低了屏蔽的复杂性。而屏蔽黑白名单的设置,又为用户提供了一个自定义设置的途径,使屏蔽在保持高效的同时能够最大程度的满足用户的需要。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种控制浏览器打开窗口的方法,其特征在于,所述方法包括 获取浏览器点击操作命令;根据所述点击操作命令产生令牌,所述令牌用于控制新窗口的打开; 当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌;在浏览器中打开发放有令牌的新窗口,并消耗发放的所述令牌。
2.如权利要求1所述的方法,其特征在于,所述根据所述点击操作命令产生令牌包括 判断所述点击操作命令是否为打开窗口命令或flash上的点击操作命令;当判断结果为是时,产生令牌。
3.如权利要求2所述的方法,其特征在于,所述令牌具有时效性,其中,所述时效性是指当所述令牌产生后超过第一预定时间,则所述令牌失效。
4.如权利要求1所述的方法,其特征在于,所述根据所述点击操作命令产生令牌包括 根据所述点击操作命令产生令牌;在获得所述点击操作命令后的第二预定时间内,对接收到的对同一个链接的点击操作命令不产生令牌。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌包括获得屏蔽黑名单和屏蔽白名单,其中所述屏蔽黑名单中的元素对应需要屏蔽的窗口, 所述屏蔽黑名单中的元素对应不予屏蔽的窗口;根据所述点击操作命令、屏蔽黑名单和屏蔽白名单判断当前打开的新窗口是否为不予屏蔽的窗口,若是则为该窗口发放所述令牌,否则不发放令牌。
6.如权利要求1至4中任意一项所述的方法,其特征在于,所述判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌包括判断当前打开的新窗口是否为浏览器响应所述点击操作命令产生的第一个新窗口,若是第一个新窗口则为该窗口发放所述令牌,浏览器响应所述点击操作命令产生的其他新窗口均不发放令牌。
7.一种网页浏览器,其特征在于,所述网页浏览器包括 命令获取模块,用于获取浏览器点击操作命令;令牌产生模块,用于根据所述命令获取模块获取的点击操作命令产生令牌,所述令牌用于控制新窗口的打开;令牌发放模块,用于当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌;窗口打开模块,用于在浏览器中打开发放有令牌的新窗口,并消耗发放的所述令牌。
8.如权利要求7所述的网页浏览器,其特征在于,所述令牌产生模块包括判断单元,用于判断所述点击操作命令是否为打开窗口命令或flash上的点击操作命令;产生单元,用于所述判断单元的判断结果为是时,产生令牌。
9.如权利要求8所述的网页浏览器,其特征在于,所述网页浏览器还包括令牌管理模块,用于对当前已有的令牌进行管理,当所述令牌的存在时间超过第一预定时间时,令所述令牌失效。
10.如权利要求7所述的网页浏览器,其特征在于,所述令牌产生模块还用于根据所述点击操作命令和预定条件产生令牌,所述预定条件是指在获得所述点击操作命令后的第二预定时间内,对接收到的对同一个链接的点击操作命令不产生令牌。
11.如权利要求7至10中任意一项所述的网页浏览器,其特征在于,所述令牌发放模块还用于,当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为浏览器响应所述点击操作命令产生的第一个新窗口,若是第一个新窗口则为该窗口发放所述令牌,浏览器响应所述点击操作命令产生的其他新窗口均不发放令牌。
12.如权利要求7至10中任意一项所述的网页浏览器,其特征在于,所述令牌发放模块还包括名单获取单元,用于获得屏蔽黑名单和屏蔽白名单,其中所述屏蔽黑名单中的元素对应需要屏蔽的窗口,所述屏蔽黑名单中的元素对应不予屏蔽的窗口 ;令牌发放单元,用于根据所述根据所述点击操作命令、屏蔽黑名单和屏蔽白名单判断当前打开的新窗口是否为不予屏蔽的窗口,若是则为该窗口发放所述令牌,否则不发放令牌。
全文摘要
本发明实施例公开了一种控制浏览器打开窗口的方法及网页浏览器,该方法包括获取浏览器点击操作命令;根据所述点击操作命令产生令牌,所述令牌用于控制新窗口的打开;当所述浏览器根据所述点击操作命令打开新窗口时,判断当前打开的新窗口是否为正常窗口,若是则为该窗口发放所述令牌,否则不发放令牌;在浏览器中打开发放有令牌的新窗口,并消耗发放的所述令牌。在本发明实施例中通过发放令牌来实现网页屏蔽,简化了现有屏蔽技术中对网页脚本进行分析的过程,可以提高屏蔽的效率。
文档编号G06F3/048GK102385583SQ20101026868
公开日2012年3月21日 申请日期2010年8月31日 优先权日2010年8月31日
发明者刘方敏, 杨丽 申请人:腾讯科技(深圳)有限公司