CN100437483C - 基于Web页面的事件分发方法与装置 - Google Patents
基于Web页面的事件分发方法与装置 Download PDFInfo
- Publication number
- CN100437483C CN100437483C CNB2007100002416A CN200710000241A CN100437483C CN 100437483 C CN100437483 C CN 100437483C CN B2007100002416 A CNB2007100002416 A CN B2007100002416A CN 200710000241 A CN200710000241 A CN 200710000241A CN 100437483 C CN100437483 C CN 100437483C
- Authority
- CN
- China
- Prior art keywords
- web page
- framework
- event object
- event
- action events
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于Web页面的事件分发方法与装置,方法包括:当Web页面建立框架和事件对象,事件对象将自己的回调接口注册到关注的Web页面,多个框架将自己的回调接口注册到所关注的事件对象,浏览器将注册过的框架放置在Web页面上之后,监听Web页面产生的操作事件;当监听到所述操作事件为事件对象所关注的事件时,获取注册到所述事件对象的各个框架,再将所述操作事件分发到所述框架。另外,本发明还提供基于Web页面的事件分发装置。利用本发明不仅可使当前操作的子页面根据产生的操作事件而做出相应的改变,还可使其他子页面根据产生的操作事件而做出相应的改变,同时对某个框架进行修改时不会影响其它的框架。
Description
技术领域
本发明涉及计算机网络,尤其涉及一种基于Web页面的事件分发方法与装置。
背景技术
浏览器/客户端(B/S,Browse/Server)技术不仅仅是基于互联网的应用,目前一些企业内部网的应用也采用了B/S技术,而企业内部网和传统的互联网应用有所不同,互联网是多个页面之间跳转来完成内容展现,而企业内部网必须将大部分内容同时展现在一个界面中。由于需要显示的内容较多,所以必须将Web页面拆分成多个内容界面,然后进行排版显示。通常采用框架(Frame)结构来进行页面排版,每个Web页面包含多个框架,每个框架包含一个子页面,然后通过左右、上下等排版方式放置这些框架。
现有技术是通过表格(Table)结构来对页面进行排版,并将所有内容集中在一个页面中,因此页面发生的操作事件也只有该页面能够获知,同时对操作事件的响应也是反映在这一个页面上,其中,对操作事件的响应就是页面根据发生的操作事件而做出相应的改变。另外,该现有技术是将多个内容强行集成在一个页面,而且多个内容之间相互嵌套,只要某些内容稍作修改就会导致其它的大量内容也需要修改,这样会造成大量的超文本标记语言(HTML,HyperText Markup Language)代码冗余,同时不便于页面维护。最后,该现有技术在每次页面切换都需要重新载入所有的内容,因而需要占用较多的网络带宽。
发明内容
本发明实施例提供了一种基于Web页面的事件分发方法和装置,所述方法和装置使得多个子页面可以获知Web页面发生的操作事件。
本发明实施例提供了一种基于Web页面的事件分发方法,该方法包括:
当Web页面建立框架和事件对象,事件对象将自己的回调接口注册到关注的Web页面,多个框架将自己的回调接口注册到所关注的事件对象,浏览器将注册过的框架放置在Web页面上之后,监听Web页面产生的操作事件;当监听到所述操作事件为事件对象所关注的事件时,获取注册到所述事件对象的各个框架,再将所述操作事件分发到所述框架。
根据上述方法,本发明实施例也提供了一种基于Web页面的事件分发装置,该装置包括浏览器,用于将注册过的框架放置在Web页面,其中,该装置还包括:
初始化单元,用于在Web页面建立框架和事件对象,以及将事件对象的回调接口注册到关注的Web页面,将框架的回调接口注册到所关注的事件对象;
监听单元,用于在所述初始化单元将事件对象的回调接口和框架的回调接口注册后,对Web页面产生的操作事件进行监听,以及判断产生的操作事件是否为事件对象所关注的事件,并向分发单元提供所述判断结果;
分发单元,用于在Web页面产生的操作事件是关注的事件时获取注册到所述事件对象的各个框架,再将事件分发到所述框架。
以上技术方案可以看出,由于本发明实施例首先监听Web页面产生的操作事件,当监听到所述操作事件是事件对象所关注的事件时获取注册到该事件对象的各个框架,再将所述操作事件分发到所述框架,这样使得多个框架能够获知Web页面正在发生的操作事件,进而使得每个框架的子页面再根据产生的操作事件做出相应的改变,与现有技术只有一个页面对产生的操作事件做出相应的改变相比较,本发明实施例不仅可以使当前操作的子页面根据产生的操作事件做出相应的改变,还可以使其他子页面根据产生的操作事件做出相应的改变。
附图说明
图1是本发明实施例中观察者模式的注册过程;
图2是本发明实施例中观察者模式的通知过程;
图3是本发明方法实施方式的流程图;
图4是实现本发明实施例的一种框架示意图;
图5是本发明装置实施方式的示意图。
具体实施方式
本发明实施例提供了一种基于Web页面的事件分发方法和装置,所述方法首先监听Web页面产生的操作事件,当监听到所述操作事件为事件对象所关注的事件时,获取注册到所述事件对象的各个框架,再将所述操作事件分发到所述框架。本发明实施例是利用观察者模式将产生的操作事件分发到各个框架中,这样使得各个框架的子页面都能对该事件进行响应,其中,本发明实施例包括两组观察者模式,一组是以Frame为观察对象,事件对象为被观察对象,另一组是以Web页面为被观察对象,事件对象为观察对象。
所述的观察者模式就是将观察者和被观察的对象分离开,从根本上说,观察者模式必须包含两个角色:观察对象和被观察对象。它定义了一个一对多的关系,就是让一个或多个观察对象监察一个被观察对象,这样使得被观察对象在状态上发生变化时能够通知所有对应的观察对象,从而使这些观察对象能够自动更新。其中,被观察对象就是主题角色,每个被观察对象都有保存对观察对象有用的内部状态,在这种内部状态改变时就给观察对象发出一个通知。而观察对象至少保存一个与主题角色相符的状态,在被观察对象发出通知时,观察对象会自动更新自己的接口,以便使本身的状态与主题角色的状态相符。
首先,对实现本发明实施例的一种观察者模式进行简单介绍,所述观察者模式包括注册和通知两部分,下面以Frame为观察对象,事件对象为被观察对象为一组观察者模式,以Web页面为被观察对象,事件对象为观察对象为一组观察者模式,Web页面为存放观察对象的容器对观察者模式的注册和通知过程进行描述。
一、观察者模式的注册过程
对事件对象和框架进行初始化,事件对象将自己的回调接口注册到关注的Web页面上,每个框架将自己的回调接口注册到所关注的事件对象上,浏览器再将注册过的框架放置在Web页面上,这就是观察者模式的注册过程,具体参照图1。其中,回调接口就是在具体的页面上绑定需要使用的事件,例如键盘事件,并对所述事件进行响应,所述回调接口可以处理事件响应的过程,比如根据发生的键盘事件将Web页面下拉框内容改变等。
二、观察者模式的通知过程
事件对象发生某种变化后,如图2中的“是否产生键盘消息”,事件对象对各个框架进行遍历从Web页面中获取所有注册过的框架,事件对象再将事件对象变化分发到注册过的每个框架,所述框架通过回调接口对所述事件进行响应,例如,框架的回调接口通过去调用自己定义的键盘事件来响应图2中的消息。
下面结合图1、图2和图3对本发明方法实施方式的技术方案进行描述,具体包括:
步骤301、建立框架和事件对象,通常利用客户端脚本语言的继承机制建立事件对象。其中,继承就是在一个原有对象的基础上建立一个新的对象,新对象具有原有对象的特性和功能,同时新对象能够对原有对象的功能进行扩展和更新,继承的核心就是能够实现代码重用。
在一个Web页面的上可建立多个框架,如左框架、顶框架和主框架,具体可见图4。其中,每个Web页面包含多个框架,每个框架包含一个子页面。
步骤302、对事件对象和框架进行初始化,事件对象将自己的回调接口注册到关注的Web页面,框架将自己的回调接口注册到所关注的事件对象,浏览器再将注册过的框架放置在Web页面上。
其中,步骤301和步骤302是第一次进行事件分发时,Web页面没有相应的框架和事件对象时所需要的步骤。
步骤303、在框架和事件对象注册后,再监听Web页面。
步骤304、用户对Web页面进行操作,此时Web页面产生一个操作事件,其中,所述操作事件可以是键盘事件、鼠标事件、窗口绘制事件以及计时器事件等。
步骤305、在监听到所述操作事件时判断该事件是否为事件对象关注的事件,如果是,执行步骤306,否则显示页面内容。
步骤306、事件对象对Web页面的各个框架进行遍历,并从中获取所有注册到事件对象本身的框架,再将所述操作事件分发到所述的各个框架中,否则显示页面内容。
步骤307、注册到所述事件对象的各个框架通过自己的回调接口对所述操作事件进行响应,框架会自动更新自己的接口,以便使本身的状态与所述操作事件相符。
可选地,所述已注册的框架可撤销对对所关注的事件对象进行观察,事件对象再将所述框架进行删除。
下面以键盘事件为例对本发明方法实施方式进行说明,用户通过键盘输入字符,并将字符显示在页面上,事件对象监听到用户输入字符的事件,判断所述事件是否为按键事件对象关注的键盘事件,如果是,事件对象遍历当前的各个框架,并获取所有注册过的框架,再将所述事件分发到注册过的每个框架,否则显示页面的内容。
由上述可知,本发明方法实施方式首先监听Web页面产生的操作事件,当监听到所述操作事件是事件对象所关注的事件时获取注册到该事件对象的各个框架,再将所述操作事件分发到所述框架,这样使得多个框架能够获知Web页面正在发生的操作事件,进而使得每个框架的子页面再根据产生的操作事件做出相应的改变,与现有技术只有一个页面对产生的操作事件做出相应的改变相比较,本发明实施例不仅可以使当前操作的子页面根据产生的操作事件做出相应的改变,还可以使其他子页面根据产生的操作事件做出相应的改变。
另外,本发明方法实施方式是采用观察者模式对事件进行分发,前提条件是采用框架方式对Web页面进行排版,然后再将框架作为一个观察对象,并且各个框架都是相互独立的,这样对某个框架进行修改时不会影响其它的框架,进而便于对页面的维护,同时对模块化开发也提供了便利。
最后,由于本发明方法实施方式是采用框架方式对页面进行排版,这样在对页面进行切换时不需要重新载入所有的内容,因而不需要占用较多的网络带宽。
根据上述方法实施方式,本发明实施例也提供了基于Web页面的事件分发装置,由图5可知,该装置包括初始化单元501、监听单元502、分发单元503、浏览器504以及删除单元505。
其中,初始化单元501用于在Web页面建立框架和事件对象,以及将事件对象的回调接口注册到关注的Web页面,将框架的回调接口注册到所关注的事件对象,以及将框架的注册结果告知浏览器504,以及将框架对事件对象的撤销通知告知删除单元505。
其中,监听单元502用于在框架的回调接口注册到所关注的事件对象后对Web页面进行监听,以及在监听到页面产生操作事件时判断该事件是否为关注的事件,并向分发单元503提供所述判断结果。
其中,分发单元503用于在页面产生的操作事件是关注的事件时从Web页面获取注册到所述事件对象的框架,再将所述操作事件分发到所述的各个框架。
其中,浏览器504用于将注册过的框架存放到Web页面。
其中,删除单元505用于根据初始化单元501发送的撤销通知从Web页面删除所述框架。
由上述方法与装置实施方式可知,本发明实施例首先监听Web页面产生的操作事件,当监听到所述操作事件是事件对象所关注的事件时获取注册到该事件对象的各个框架,再将所述操作事件分发到所述框架,这样使得多个框架能够获知Web页面正在发生的操作事件,进而使得每个框架的子页面再根据产生的操作事件做出相应的改变,与现有技术只有一个页面对产生的操作事件做出相应的改变相比较,本发明实施例不仅可以使当前操作的子页面根据产生的操作事件做出相应的改变,还可以使其他子页面根据产生的操作事件做出相应的改变。
以上对本发明实施例所提供的一种基于Web页面的事件分发方法与装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1、一种基于Web页面的事件分发方法,其特征在于,该方法包括:
当Web页面建立框架和事件对象,事件对象将自己的回调接口注册到关注的Web页面,多个框架将自己的回调接口注册到所关注的事件对象,浏览器将注册过的框架放置在Web页面上之后,监听Web页面产生的操作事件;
当监听到所述操作事件为事件对象所关注的事件时,获取注册到所述事件对象的各个框架,再将所述操作事件分发到所述框架。
2、如权利要求1所述的基于Web页面的事件分发方法,其特征在于,采用客户端语言的继承机制建立事件对象。
3、如权利要求1所述的基于Web页面的事件分发方法,其特征在于,Web页面所产生的操作事件包括键盘事件、鼠标事件、窗口绘制事件或计时器事件。
4、如权利要求1至3任一项所述的基于Web页面的事件分发方法,其特征在于,在将操作事件分发到各个框架之后进一步包括:
各个框架通过自己的回调接口对所述操作事件进行响应。
5、如权利要求4所述的基于Web页面的事件分发方法,其特征在于,在框架对所述操作事件进行响应之后进一步包括:
框架撤销对事件对象的关注,事件对象再将所述框架进行删除。
6、一种基于Web页面的事件分发装置,该装置包括浏览器,用于将注册过的框架放置在Web页面,其特征在于,该装置还包括:
初始化单元,用于在Web页面建立框架和事件对象,以及将事件对象的回调接口注册到关注的Web页面,将框架的回调接口注册到所关注的事件对象;
监听单元,用于在所述初始化单元将事件对象的回调接口和框架的回调接口注册后,对Web页面产生的操作事件进行监听,以及判断产生的操作事件是否为事件对象所关注的事件,并向分发单元提供所述判断结果;
分发单元,用于在Web页面产生的操作事件是关注的事件时获取注册到所述事件对象的各个框架,再将所述操作事件分发到所述框架。
7、如权利要求6所述的基于Web页面的事件分发装置,其特征在于,该装置进一步包括删除单元,所述初始化单元进一步用于将框架对事件对象的关注的撤销通知告知删除单元,所述删除单元用于根据初始化单元发送的撤销通知从Web页面删除所述框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100002416A CN100437483C (zh) | 2007-01-16 | 2007-01-16 | 基于Web页面的事件分发方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100002416A CN100437483C (zh) | 2007-01-16 | 2007-01-16 | 基于Web页面的事件分发方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101000544A CN101000544A (zh) | 2007-07-18 |
CN100437483C true CN100437483C (zh) | 2008-11-26 |
Family
ID=38692533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100002416A Expired - Fee Related CN100437483C (zh) | 2007-01-16 | 2007-01-16 | 基于Web页面的事件分发方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100437483C (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102334099B (zh) * | 2011-08-09 | 2013-08-28 | 华为技术有限公司 | 在bs架构下的参数配置的方法和装置 |
CN103049164B (zh) * | 2011-10-14 | 2017-09-19 | 上海可鲁***软件有限公司 | 一种动态矢量图形快速响应操作的方法及其控制设备 |
CN102508665B (zh) * | 2011-11-10 | 2014-12-17 | 北京高森明晨信息科技有限公司 | 绘制应用程序视图的方法和装置 |
CN103368980B (zh) * | 2012-03-26 | 2018-02-16 | 财付通支付科技有限公司 | 一种jsonp数据请求方法和装置 |
US9608881B2 (en) | 2012-04-13 | 2017-03-28 | International Business Machines Corporation | Service compliance enforcement using user activity monitoring and work request verification |
CN103942202B (zh) * | 2013-01-18 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 网页文本域高度自适应缩放方法及装置 |
CN103207895B (zh) * | 2013-03-14 | 2016-12-28 | 北京京东世纪贸易有限公司 | 用于实现页面无关的同步功能的方法和*** |
CN104915190A (zh) * | 2014-03-14 | 2015-09-16 | 中兴通讯股份有限公司 | 基于文件对象模型事件的浏览器同步方法和装置 |
CN104090760B (zh) * | 2014-07-04 | 2017-11-24 | 用友网络科技股份有限公司 | 事件驱动方法和事件驱动*** |
CN104125299A (zh) * | 2014-08-08 | 2014-10-29 | 携程计算机技术(上海)有限公司 | Ota网站的***应用的设置***及方法 |
CN104503748A (zh) * | 2014-12-12 | 2015-04-08 | 珠海金山网络游戏科技有限公司 | 一种基于事件驱动的编辑器***及方法 |
CN106155662B (zh) * | 2015-04-15 | 2019-11-15 | 高德软件有限公司 | 一种Web页面事件处理方法、***及页面控制器 |
CN107577540B (zh) * | 2017-08-31 | 2020-03-17 | 武汉斗鱼网络科技有限公司 | 视频交友中实现举报功能的方法、存储介质、设备及*** |
CN108763417A (zh) * | 2018-05-23 | 2018-11-06 | 深圳市茁壮网络股份有限公司 | 一种基于webOS框架***的页面处理方法及装置 |
CN109284458A (zh) * | 2018-09-28 | 2019-01-29 | 平安普惠企业管理有限公司 | 网页显示方法、装置、计算机设备及存储介质 |
CN110377852A (zh) * | 2019-06-24 | 2019-10-25 | 平安科技(深圳)有限公司 | 页面展示数据清除方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW234740B (zh) * | 1992-04-03 | 1994-11-21 | Weigh Tronix | |
CN1383077A (zh) * | 2001-04-27 | 2002-12-04 | 华为技术有限公司 | 护航浏览多窗口网页同步的实现方法 |
CN1835507A (zh) * | 2005-03-17 | 2006-09-20 | 国际商业机器公司 | 用于用户与web浏览器交互的服务器端处理的方法与*** |
-
2007
- 2007-01-16 CN CNB2007100002416A patent/CN100437483C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW234740B (zh) * | 1992-04-03 | 1994-11-21 | Weigh Tronix | |
CN1383077A (zh) * | 2001-04-27 | 2002-12-04 | 华为技术有限公司 | 护航浏览多窗口网页同步的实现方法 |
CN1835507A (zh) * | 2005-03-17 | 2006-09-20 | 国际商业机器公司 | 用于用户与web浏览器交互的服务器端处理的方法与*** |
Also Published As
Publication number | Publication date |
---|---|
CN101000544A (zh) | 2007-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100437483C (zh) | 基于Web页面的事件分发方法与装置 | |
CN101364236B (zh) | 一种web页面的数据处理装置及处理方法 | |
CN103227839B (zh) | 内容分发网络服务器区域自治的管理*** | |
CN101699393B (zh) | 一种面向网络的智能化软件界面动态生成方法 | |
CN105577822B (zh) | 基于cdn节点的缓存集中管理*** | |
CN102624570A (zh) | 实现对web服务器可用性进行检测的监控***和方法 | |
WO2003060683A2 (en) | Managing a user interface | |
CA2767494A1 (en) | Systems and methods for remote dashboard image generation | |
CN103440151A (zh) | 一种动态加载Web页面的方法和装置 | |
CN102937898A (zh) | 一种基于xml技术的web应用动态帮助方法和*** | |
US8020051B2 (en) | Message handling in a service-oriented architecture | |
CN1728700B (zh) | 基于struts框架的web电信网管***及其方法 | |
US20090222721A1 (en) | Internet access GUI for mobile devices | |
US6161136A (en) | High performance user interface and method of structuring same | |
CN104219295A (zh) | 基于服务器端配置的移动设备的信息展示方法及*** | |
CN107132963A (zh) | 红点消息显示方法、消去方法以及相应装置 | |
CN107171856A (zh) | 一种即时通讯***组织架构快速更新的方法 | |
CN105404692A (zh) | Web页面的生成方法及生成装置 | |
CN109428877A (zh) | 一种用于通过用户设备访问业务***的方法和装置 | |
CN104951311A (zh) | 一种页面制作方法及装置 | |
CN102073455A (zh) | 一种基于数据库的多屏幕数据切换显示方法 | |
CN103530023B (zh) | 发布信息的处理方法及***、客户端 | |
CN107566436A (zh) | 页面消息中心组件及消息实时推送方法和装置 | |
CN103970773B (zh) | 一种网页的页面更新方法及装置 | |
CN109309874B (zh) | 一种焦点更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081126 Termination date: 20160116 |
|
EXPY | Termination of patent right or utility model |