发明内容
本发明的主要目的在于提供一种基于浏览器扩展实现响应的方法及浏览器,旨在实现用户对事件行为的有效控制。
为了达到上述目的,本发明提出一种基于浏览器扩展实现响应的方法,包括:
浏览器产生事件或浏览器根据用户的触发指令产生事件;
根据产生的事件以及预设的事件行为进行事件响应。
优选地,所述根据产生的事件以及预设的事件行为进行事件响应的步骤包括:
根据产生的事件进行事件行为判断;
当所述产生的事件对应有所述预设的事件行为时,根据所述预设的事件行为响应所述产生的事件。
优选地,所述当产生的事件对应有所述预设的事件行为时,根据所述预设的事件行为响应所述产生的事件的步骤之后进一步还包括:
按照默认的事件响应流程响应所述产生的事件。
优选地,所述根据产生的事件以及预设的事件行为进行事件响应的步骤还包括:
当所述产生的事件不存在对应的预设的事件行为时,按照默认的事件响应流程响应所述产生的事件。
优选地,所述按照默认的事件响应流程响应所述产生的事件的步骤包括:
对所述产生的事件进行分发;
通过所述浏览器的扩展模块响应分发的事件;或者根据所述浏览器自身响应流程处理所述分发的事件。
优选地,所述根据产生的事件以及预设的事件行为进行事件响应的步骤包括:
对所述产生的事件进行事件分发;
若所述分发的事件为用户自定义事件,则通过所述浏览器的扩展模块,并根据对应的预设的事件行为响应所述分发的事件;或者根据所述浏览器自身响应流程处理所述分发的事件。
优选地,该方法还包括:
设置事件行为选项提供给用户,并根据用户选择设置预设的事件行为。
优选地,所述预设的事件行为为预设的用户自定义事件行为;所述预设的用户自定义事件行为是具有事件响应链的事件行为。
本发明还提出一种实现响应的浏览器,包括:
事件产生模块,用于产生事件或根据用户的触发指令产生事件;
响应模块,用于根据所述产生的事件以及预设的事件行为进行事件响应。
优选地,所述响应模块包括:
判断单元,用于根据所述产生的事件进行事件行为判断;
响应单元,用于当所述产生的事件对应有所述预设的事件行为时,根据所述预设的事件行为响应所述产生的事件,否则,按照默认的事件响应流程响应所述产生的事件。
优选地,所述响应单元包括:
分发子单元,用于对所述产生的事件进行分发;
响应子单元,用于通过所述浏览器的扩展模块响应分发的事件;或者根据所述浏览器自身响应流程处理所述分发的事件。
优选地,所述分发子单元,还用于在事件产生模块产生事件后,对所述产生的事件进行分发;
所述响应子单元,还用于当所述分发的事件为用户自定义事件时,通过所述浏览器的扩展模块,并根据对应的预设的事件行为响应所述分发的事件;或者根据所述浏览器自身响应流程处理所述分发的事件。
优选地,该浏览器还包括:
设置模块,用于设置事件行为选项提供给用户,并根据用户选择设置预设的事件行为。
本发明提出的一种基于浏览器扩展实现响应的方法及浏览器,通过用户可编辑的事件响应机制,在用户浏览网页时,浏览器可根据用户预先设置的事件行为进行事件响应,由此实现了用户对事件行为的有效控制,提高用户定制事件的能力。
具体实施方式
本发明实施例解决方案主要是:通过用户可编辑的事件响应机制来提高用户定制事件行为的能力,在用户浏览网页时,浏览器可根据用户预先设置的自定义事件行为进行事件响应,以实现用户对事件行为的有效控制。
本发明实施例涉及的专业术语包括:
事件:浏览器产生的事件,比如:网页加载的进度、网页地址栏或标题的更新等;
事件响应:在发生一个事件时,程序进行的相应的动作;
事件响应链:一个事件响应触发了另外一个事件响应,则称为一个事件响应链。
如图1所示,本发明一实施例提出一种基于浏览器扩展实现响应的方法,包括:
步骤S101,浏览器产生事件或浏览器根据用户的触发指令产生事件;
步骤S102,根据产生的事件以及预设的事件行为进行事件响应。
其中,预设的事件行为具体可以为预设的用户自定义事件行为,也可以为预先设置的其他事件行为,本实施例以用户自定义事件行为举例说明,但不限于此种情形。
在本实施例中,通过建立用户可编辑的事件响应来提高用户定制事件的能力,浏览器可以根据用户选择预先设定用户自定义的事件行为。
具体地,首先,浏览器将事件封装成设置文件提供给用户,比如:网页更新进度、定时器被触发等。然后,将浏览器常用的功能,通过行为的方式封装成选项提供给用户,比如:打开标签页、浏览网页以及刷新网页等。上述事件可以为用户自定义的事件。
浏览器可以根据用户自定义事件行为设置事件响应方式,比如当A事件发生时,则执行用户定义的B动作。
比如可以定义如下的事件响应:当网页加载完成时,请求在此网页页面中执行一段用于打开页面中第一个链接的JS脚本。或者,当一个定时器被触发时,弹出用户自定义的提醒等。
由此,通过上述用户自定义事件行为,极大的提高了用户对于事件行为的控制力度,而且相关操作均以浏览器设置的形式出现,不会提高用户的开发难度。
此外,对于较为复杂的事件行为,则可以通过事件响应链的机制来实现。比如定义如下两个事件响应:
如果A事件发生了,则会引起B动作执行。
如果C事件发生了,则会引起D动作执行。
同时,用户可以再定义一个事件:如果发生了B动作,则会引起C事件。由此,构造了一个基本的事件响应链,一旦发生了事件A,那么就会触发动作B,然后触发事件C,最后触发动作D。
上述事件响应链的实现举例说明如下:比如当浏览器地址栏更新成mail.qq.com,则执行一段打开收件箱的js脚本;当浏览器加载完成qqmail收件箱页面时,则执行一段打开收件箱中所有未读邮件的脚本。通过事件响应链的方式,可以完成浏览器中相对复杂的功能。
当用户浏览网页时,浏览器根据用户的产生的事件,以及预设的用户自定义事件行为进行事件响应。在浏览器进行事件响应时,采用两种方式来实现,一种方式是通过浏览器自身的功能来响应事件,另一种方式是通过浏览器扩展功能来响应事件。
具体实施过程中,以预设的事件行为为预设的用户自定义事件行为为例,如图2所示,作为一种实施方式,上述步骤S102具体包括:
步骤S1021,根据产生的事件判断是否有对应的预设的用户自定义事件行为,若有,则进入步骤S1022;否则,进入步骤S1023;
步骤S1022,根据预设的用户自定义事件行为响应产生的事件。
步骤S1023,按照默认的事件响应流程执行产生的事件。
其中,按照默认的事件响应流程执行产生的事件的过程为:浏览器首先根据产生的事件对事件进行分发,然后通过浏览器的扩展模块响应分发的事件;或者根据浏览器自身功能设置的响应流程来处理分发的事件。
此外,在上述浏览器通过浏览器的扩展模块响应分发的事件完成之后,浏览器还可以根据浏览器自身功能设置的响应流程来处理分发的事件。
如图3所示,作为另一种实施方式,上述步骤S102具体包括:
步骤S1024,根据产生的事件分发事件;
步骤S1025,若分发的事件为用户自定义事件,则通过浏览器的扩展模块,并根据对应的预设的用户自定义事件行为响应分发的事件;或者根据浏览器自身响应流程处理分发的事件。
其中,通过浏览器的扩展模块,并根据对应的预设的用户自定义事件行为响应分发的事件是指根据浏览器的扩展模块并利用浏览器提供的API(Application Programming Interface,应用程序编程接口)来执行用户自定义的事件行为。若分发的事件不为用户自定义事件,也可以采用上述处理方式,即通过浏览器的扩展模块,并根据对应的预设的用户自定义事件行为响应分发的事件;或者根据浏览器自身响应流程处理分发的事件。
本实施例通过用户可编辑的事件响应机制,在用户浏览网页时,浏览器可根据用户预先设置的自定义事件行为进行事件响应,由此实现了用户对事件行为的有效控制,提高用户定制事件的能力。
如图4所示,本发明一实施例提出一种实现响应的浏览器,包括:事件产生模块401及响应模块402,其中:
事件产生模块401,用于产生事件或根据用户的触发指令产生事件;
响应模块402,用于根据产生的事件以及预设的事件行为进行事件响应。
其中,预设的事件行为具体可以为预设的用户自定义事件行为,也可以为预先设置的其他事件行为,本实施例以用户自定义事件行为举例说明,但不限于此种情形。
本实施例通过建立用户可编辑的事件响应来提高用户定制事件的能力,浏览器可以根据用户选择预先设定用户自定义的事件行为。
具体地,首先,浏览器将事件封装成设置文件提供给用户,比如:网页更新进度、定时器被触发等。然后,将浏览器常用的功能,通过行为的方式封装成选项提供给用户,比如:打开标签页、浏览网页以及刷新网页等。
浏览器可以根据用户自定义事件行为设置事件响应方式,比如当A事件发生时,则执行用户定义的B动作。
比如可以定义如下的事件响应:当网页加载完成时,请求在此网页页面中执行一段用于打开页面中第一个链接的JS脚本。或者,当一个定时器被触发时,弹出用户自定义的提醒等。
由此,通过上述用户自定义事件行为,极大的提高了用户对于事件行为的控制力度,而且相关操作均以浏览器设置的形式出现,不会提高用户的开发难度。
此外,对于较为复杂的事件行为,则可以通过事件响应链的机制来实现。比如定义如下两个事件响应:
如果A事件发生了,则会引起B动作执行。
如果C事件发生了,则会引起D动作执行。
同时,用户可以再定义一个事件:如果发生了B动作,则会引起C事件。由此,构造了一个基本的事件响应链,一旦发生了事件A,那么就会触发动作B,然后触发事件C,最后触发动作D。
上述事件响应链的实现举例说明如下:比如当浏览器地址栏更新成mail.qq.com,则执行一段打开收件箱的js脚本;当浏览器加载完成qqmail收件箱页面时,则执行一段打开收件箱中所有未读邮件的脚本。通过事件响应链的方式,可以完成浏览器中相对复杂的功能。
当用户浏览网页时,浏览器通过事件产生模块401产生事件或根据用户的触发指令产生事件,然后由响应模块402根据用户的产生的事件,以及预设的用户自定义事件行为进行事件响应。在浏览器进行事件响应时,采用两种方式来实现,一种方式是通过浏览器自身的功能来响应事件,另一种方式是通过浏览器扩展功能来响应事件。
具体实施过程中,以预设的事件行为为预设的用户自定义事件行为为例,如图5所示,作为一种实施方式,上述响应模块402具体包括:判断单元4021及响应单元4022,其中:
判断单元4021,用于根据产生的事件进行用户自定义事件行为判断;
响应单元4022,用于当产生的事件对应有预设的用户自定义事件行为时,根据预设的用户自定义事件行为响应产生的事件,否则,按照默认的事件响应流程执行产生的事件。
如图6所示,上述响应单元4022包括:分发子单元40221及响应子单元40222,其中:
分发子单元40221,用于对产生的事件进行分发;
响应子单元40222,用于通过浏览器的扩展模块响应分发的事件;或者根据浏览器自身响应流程处理所述分发的事件。
作为另一种实施方式,上述分发子单元40221,还用于在事件产生模块401产生事件后,直接对产生的事件进行分发;
上述响应子单元40222,还用于当分发的事件为用户自定义事件,通过浏览器的扩展模块,并根据对应的预设的用户自定义事件行为响应分发的事件;或者根据浏览器自身响应流程处理分发的事件。
如图7所示,本发明另一实施例提出一种实现响应的浏览器,在上述实施例的基础上还包括:
设置模块400,用于设置事件行为选项提供给用户,并根据用户选择设置预设的事件行为。
本实施例与上述实施例的区别在于,本实施例中浏览器在用户浏览网页之前,通过设置模块400设置用户自定义事件行为选项提供给用户,并根据用户选择设置预设的用户自定义事件行为。
具体地,首先,设置模块400将事件封装成设置文件提供给用户,比如:网页更新进度、定时器被触发等。然后,设置模块400将浏览器常用的功能,通过行为的方式封装成选项提供给用户,比如:打开标签页、浏览网页以及刷新网页等。浏览器可以根据用户自定义事件行为设置事件响应方式,比如当A事件发生时,则执行用户定义的B动作。其他与上述实施例相同。
本发明实施例基于浏览器扩展实现响应的方法及浏览器,通过用户可编辑的事件响应机制,在用户浏览网页时,浏览器可根据用户预先设置的自定义事件行为进行事件响应,由此实现了用户对事件行为的有效控制,提高用户定制事件的能力。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。