CN110110274A - 一种浏览器多页面消息处理分发方法 - Google Patents
一种浏览器多页面消息处理分发方法 Download PDFInfo
- Publication number
- CN110110274A CN110110274A CN201910414940.8A CN201910414940A CN110110274A CN 110110274 A CN110110274 A CN 110110274A CN 201910414940 A CN201910414940 A CN 201910414940A CN 110110274 A CN110110274 A CN 110110274A
- Authority
- CN
- China
- Prior art keywords
- message
- page
- maincenter
- sent
- event
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种浏览器多页面消息处理分发方法,所述浏览器包括至少一个消息发送页面和至少一个消息接受页面,包括:打开一个空白页面作为中枢页面,在所述中枢页面设置第一事件监听,所述第一事件监听用于接收消息发送页面的发送的消息;在消息接受页面设置第二事件监听,所述第二事件监听用于接收从所述中枢页面转发的所述消息发送页面发送的消息。本发明提高了对传输内容的控制,通过一个中间的中枢控制,将消息按照基于传递者提供的接收方,分发到不同的接收方。避免了消息路由的混乱,通过统一的消息接收与发送中枢,能追踪到消息的具体方向使得所有的消息在一个控制页面可控。
Description
技术领域
本发明涉及消息分发处理技术领域,尤其涉及一种浏览器多页面消息处理分发方法。
背景技术
浏览器由于同源策略限制,目前已有技术通过PostMessage接口可以解决跨浏览器消息传递。
比如现有技术存在一种进行网页通信的方法,该方法通过在第一网站页面设置页面接口单元,用于在第一网站页面与第二网站页面之间进行通信;以及在第一网站页面设置页面脚本单元,用于调用页面接口单元向第二网站页面转发第一命令消息,并受页面接口单元的调用来接收第二网站页面转发的第二命令消息。
比如现有技术存在一种跨浏览器实现网页同步的方法,该方法通过在页面中设置一个事件监测/捕获模块,实现事件的跳转、切换、横竖向滚动,以及URL变化的监测和广播至其他浏览器;通过事件实时广播模块,实现事件实时广播至每个浏览器,保证变化结果实时一致。
在上述两种方法中,消息都是在浏览器之间直接传递,容易造成信息传递混乱的问题。并且在存在多消息源发送方的情况下,每个消息源各自向其他浏览器广播消息,使消息的传递更加复杂。
发明内容
针对现有技术中的缺陷,本发明提供一种浏览器多页面消息处理分发方法,使多页面之间的消息传递更加简单可靠。
本发明通过以下技术手段解决上述技术问题:
一种浏览器多页面消息处理分发方法,所述浏览器包括至少一个消息发送页面和至少一个消息接受页面,其特征在于,包括:
打开一个空白页面作为中枢页面,在所述中枢页面设置第一事件监听;其中,所述第一事件监听用于接收所述消息发送页面发送的消息;
在所述消息接受页面设置第二事件监听;其中,所述第二事件监听用于接收从所述中枢页面转发的所述消息发送页面发送的消息。
进一步,还包括:在消息发送页面设置第三事件监听,所述第三事件监听用于接收所述中枢页面回复的消息接收结果,以确认消息触达情况。
进一步,在消息发送页面设置第三事件监听之前,所述方法还包括:
所述消息接受页面发送消息接收标志至所述中枢页面;
所述中枢页面根据所述消息接收标志统计消息触达情况,作为消息接收结果回复至所述消息发送页面。
进一步,所述消息发送页面与所述中枢页面之间通过PostMessage方法发送消息以及回复消息触达情况。
进一步,所述中枢页面与所述消息接受页面之间通过PostMessage方法发送消息以及回复消息触达情况。
进一步,所述回复消息触达情况包括可信方案和非可信方案,所述可信方案回传消息触达情况,所述非可信方案不回传消息触达情况。
进一步,在所述中枢页面设置第一事件监听之后,还包括:
所述第一事件监听解析所述消息发送页面发送的消息,以得到与所述消息发送页面发送的消息对应的消息接受页面的信息;
所述中枢页面根据所述对应的消息接受页面的信息将接收到的所述消息发送页面发送的消息转发到对应的所述消息接受页面。
进一步,在所述中枢页面设置第一事件监听之后,还包括:
所述中枢页面将所述消息发送页面发送的消息,同时发送给多个所述消息接受页面;其中,将所述消息发送页面上发送给多个所述消息接受页面的多个发送过程,统一由所述中枢页面处理。
进一步,在所述中枢页面设置第一事件监听之后,还包括:
所述中枢页面在所述消息发送页面发送的消息中填充消息来源;其中,所述消息来源用于在所述消息接收页面接收到消息后明确其消息来源。
进一步,在所述消息接受页面设置第二事件监听之后,还包括:所述中枢页面在其转发的所述消息发送到消息接受页面时,进行日志纪录。
本发明的有益效果体现在:本发明对比目前传输方式,提高了对传输内容的控制,通过一个中间的中枢控制,将消息按照基于传递者提供的接收方,分发到不同的接收方。避免了消息路由的混乱,通过统一的消息接收与发送中枢,能追踪到消息的具体方向使得所有的消息在一个控制页面可控。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明一种浏览器多页面消息处理分发方法的流程图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,本发明的一种浏览器多页面消息处理分发方法,所述浏览器包括多个消息发送页面和多个消息接受页面,具体方法包括:
S1:通过iframe打开一个空白页面作为中枢页面,在所述中枢页面设置第一事件监听,所述第一事件监听用于接收消息发送页面的发送的消息,所述第一事件监听通过解析所述消息发送页面发送的消息,以得到与所述消息发送页面发送的消息对应的消息接受页面的信息,所述中枢页面根据所述对应的消息接受页面的信息将接收到的所述消息发送页面发送的消息转发到对应的所述消息接受页面;其中,上述的第一事件监听可以通过在iframe的网页框架信息内创建事件监听器来完成。
S2:在消息接受页面设置第二事件监听,所述第二事件监听只接收从所述中枢页面转发的所述消息发送页面发送的消息,不与消息发送页面有直接的消息收发。
本发明的实施例对比现有技术的传输方式,提高了对传输内容的控制,通过一个中间的中枢控制,将消息按照基于传递者提供的接收方,分发到不同的接收方。避免了消息路由的混乱,通过统一的消息接收与发送中枢,能追踪到消息的具体方向使得所有的消息在一个控制页面可控。本发明的浏览器多页面消息处理分发方法使多页面之间的消息传递更加简单可靠。
进一步,还可以在消息发送页面设置第三事件监听,所述第三事件监听用于接收所述中枢页面回复消息接收结果,确认消息触达。上述的第一事件监听、第二事件监听和第三事件监听可以通过在iframe的网页框架信息内创建事件监听器来完成。
具体点,所述消息发送页面与中枢页面之间、所述中枢页面与消息接受页面之间,均通过PostMessage方法发送消息以及回复消息触达情况。所述回复消息触达情况包括可信方案和非可信方案,所述可信方案回传消息触达情况,所述非可信方案不回传消息触达情况。可信方案可以是有用的信息或者需要的信息,具体的判定规则可以根据实际需要进行判定选择。而非可信方案可以是无用信息量或者不需要的信息,具体的判定规则可以与上述规则相反。
进一步优选地,在消息发送页面设置第三事件监听之前,所述方法还包括:所述消息接受页面发送消息接收标志至所述中枢页面;所述中枢页面根据所述消息接收标志统计消息触达情况,作为消息接收结果回复至所述消息发送页面。所述消息发送页面与所述中枢页面之间通过PostMessage方法发送消息以及回复消息触达情况。所述回复消息触达情况包括可信方案和非可信方案,所述可信方案回传消息触达情况,所述非可信方案不回传消息触达情况。
进一步优选地,在所述中枢页面设置第一事件监听之后,还包括:所述第一事件监听解析所述消息发送页面发送的消息,以得到与所述消息发送页面发送的消息对应的消息接受页面的信息;所述中枢页面根据所述对应的消息接受页面的信息将接收到的所述消息发送页面发送的消息转发到对应的所述消息接受页面。本步骤可以在S1步骤后且在S2步骤前进行。
进一步优选地,在所述中枢页面设置第一事件监听之后,还包括:所述中枢页面将所述消息发送页面发送的消息,同时发送给多个所述消息接受页面;其中,将所述消息发送页面上发送给多个所述消息接受页面的多个发送过程,统一由所述中枢页面处理。本步骤可以在S1步骤后且在S2步骤前进行。进一步优选地,在所述中枢页面设置第一事件监听之后,还包括:所述中枢页面在所述消息发送页面发送的消息中填充消息来源;其中,所述消息来源用于在所述消息接收页面接收到消息后明确其消息来源。在所述消息接受页面设置第二事件监听之后,还包括:所述中枢页面在其转发的所述消息发送到消息接受页面时,进行日志纪录。本步骤可以在S1步骤后且在S2步骤前进行。
本发明的消息处理和分发原理和核心思想如下:
1)由消息发送页面发送消息,由消息接受页面接收消息,中间经过中枢页面做转发。这样消息的整个传递流程都是可控的,也是可预见的。并且消息发送页面和消息接受页面之间建立了一个抽象的耦合,但是耦合不是非常紧密,各自可以根据自己的内容做出调整。只是耦合的控制点中枢页面来控制双方的消息传递路线。
2)消息处理的核心思想:
当消息发送页面开始发送消息时,通过PostMessage接口将消息体发送到中枢页面的监听函数,监听函数拿到消息体进行解析,从中获取接收方的信息,并且这一步可以在消息在发送到消息接受页面时做日志纪录等纪录方式。然后中枢页面可以用PostMessage接口同时将消息体发送给多个消息接受页面。将多个消息发送页面上可能发送给多个消息接受页面的多个发送过程,统一到中枢页面处理,不仅能简化代码,同时也可通过设定的消息传递逻辑,避免更多的消息混乱出错。
当消息接受页面收到消息之后,就可以按照消息的内容根据进行处理。需要消息接受页面明确知道消息来源时可以将消息来源在中枢页面填充到消息体内,如果不需要则不进行修改。
消息的触达通知,由消息接受页面选择是否做消息接收回传。如果需要则在消息接受页面通过PostMessage发送消息接收标志到中枢页面。然后由中枢页面来统计消息到达,纪录日志等信息。然后可以在中枢页面根据消息发送页面是否需要获取消息是否到达来做逻辑判断处理。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种浏览器多页面消息处理分发方法,所述浏览器包括至少一个消息发送页面和至少一个消息接受页面,其特征在于,包括:
打开一个空白页面作为中枢页面,在所述中枢页面设置第一事件监听;其中,所述第一事件监听用于接收所述消息发送页面发送的消息;
在所述消息接受页面设置第二事件监听;其中,所述第二事件监听用于接收从所述中枢页面转发的所述消息发送页面发送的消息。
2.根据权利要求1所述的一种浏览器多页面消息处理分发方法,其特征在于,还包括:在消息发送页面设置第三事件监听,所述第三事件监听用于接收所述中枢页面回复的消息接收结果,以确认消息触达情况。
3.根据权利要求2所述的一种浏览器多页面消息处理分发方法,其特征在于,在消息发送页面设置第三事件监听之前,所述方法还包括:
所述消息接受页面发送消息接收标志至所述中枢页面;
所述中枢页面根据所述消息接收标志统计消息触达情况,作为消息接收结果回复至所述消息发送页面。
4.根据权利要求2所述的一种浏览器多页面消息处理分发方法,其特征在于,所述消息发送页面与所述中枢页面之间通过PostMessage方法发送消息以及回复消息触达情况。
5.根据权利要求4所述的一种浏览器多页面消息处理分发方法,其特征在于,所述中枢页面与所述消息接受页面之间通过PostMessage方法发送消息以及回复消息触达情况。
6.根据权利要求5所述的一种浏览器多页面消息处理分发方法,其特征在于,所述回复消息触达情况包括可信方案和非可信方案,所述可信方案回传消息触达情况,所述非可信方案不回传消息触达情况。
7.根据权利要求1所述的一种浏览器多页面消息处理分发方法,其特征在于,在所述中枢页面设置第一事件监听之后,还包括:
所述第一事件监听解析所述消息发送页面发送的消息,以得到与所述消息发送页面发送的消息对应的消息接受页面的信息;
所述中枢页面根据所述对应的消息接受页面的信息将接收到的所述消息发送页面发送的消息转发到对应的所述消息接受页面。
8.根据权利要求1所述的一种浏览器多页面消息处理分发方法,其特征在于,在所述中枢页面设置第一事件监听之后,还包括:
所述中枢页面将所述消息发送页面发送的消息,同时发送给多个所述消息接受页面;其中,将所述消息发送页面上发送给多个所述消息接受页面的多个发送过程,统一由所述中枢页面处理。
9.根据权利要求1所述的一种浏览器多页面消息处理分发方法,其特征在于,在所述中枢页面设置第一事件监听之后,还包括:
所述中枢页面在所述消息发送页面发送的消息中填充消息来源;其中,所述消息来源用于在所述消息接收页面接收到消息后明确其消息来源。
10.根据权利要求1所述的一种浏览器多页面消息处理分发方法,其特征在于,在所述消息接受页面设置第二事件监听之后,还包括:
所述中枢页面在其转发的所述消息发送到消息接受页面时,进行日志纪录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414940.8A CN110110274B (zh) | 2019-05-17 | 2019-05-17 | 一种浏览器多页面消息处理分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414940.8A CN110110274B (zh) | 2019-05-17 | 2019-05-17 | 一种浏览器多页面消息处理分发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110110274A true CN110110274A (zh) | 2019-08-09 |
CN110110274B CN110110274B (zh) | 2021-06-29 |
Family
ID=67490855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910414940.8A Active CN110110274B (zh) | 2019-05-17 | 2019-05-17 | 一种浏览器多页面消息处理分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110274B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994280A (zh) * | 2023-03-23 | 2023-04-21 | 浙江数新网络有限公司 | 一种浏览器标签页通信方法、系统、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410722A (zh) * | 2014-12-19 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 一种Web页面窗口对象的通信方法及系统 |
CN104520816A (zh) * | 2012-03-01 | 2015-04-15 | 谷歌公司 | 使用浏览器作为中间件的跨扩展消息接发 |
CN104954501A (zh) * | 2014-03-31 | 2015-09-30 | 北京金山网络科技有限公司 | 跨域信息交互方法、装置及系统 |
CN105808360A (zh) * | 2016-02-26 | 2016-07-27 | 浪潮通用软件有限公司 | 一种基于共享消息的portlet通信方法 |
US20170026448A1 (en) * | 2015-07-21 | 2017-01-26 | Oracle International Corporation | Sending a command with client information to allow any remote server to communicate directly with client |
CN106375447A (zh) * | 2016-09-05 | 2017-02-01 | 深圳前海微众银行股份有限公司 | 基于消息中间件的服务切换方法及装置 |
CN106648816A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 多线程处理系统及方法 |
CN107943539A (zh) * | 2017-11-16 | 2018-04-20 | 武汉斗鱼网络科技有限公司 | 应用页面启动方法和应用页面启动装置 |
CN108762946A (zh) * | 2018-05-16 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种跨域web端通信方法及终端 |
CN109284458A (zh) * | 2018-09-28 | 2019-01-29 | 平安普惠企业管理有限公司 | 网页显示方法、装置、计算机设备及存储介质 |
-
2019
- 2019-05-17 CN CN201910414940.8A patent/CN110110274B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104520816A (zh) * | 2012-03-01 | 2015-04-15 | 谷歌公司 | 使用浏览器作为中间件的跨扩展消息接发 |
CN104954501A (zh) * | 2014-03-31 | 2015-09-30 | 北京金山网络科技有限公司 | 跨域信息交互方法、装置及系统 |
CN104410722A (zh) * | 2014-12-19 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 一种Web页面窗口对象的通信方法及系统 |
US20170026448A1 (en) * | 2015-07-21 | 2017-01-26 | Oracle International Corporation | Sending a command with client information to allow any remote server to communicate directly with client |
CN105808360A (zh) * | 2016-02-26 | 2016-07-27 | 浪潮通用软件有限公司 | 一种基于共享消息的portlet通信方法 |
CN106375447A (zh) * | 2016-09-05 | 2017-02-01 | 深圳前海微众银行股份有限公司 | 基于消息中间件的服务切换方法及装置 |
CN106648816A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 多线程处理系统及方法 |
CN107943539A (zh) * | 2017-11-16 | 2018-04-20 | 武汉斗鱼网络科技有限公司 | 应用页面启动方法和应用页面启动装置 |
CN108762946A (zh) * | 2018-05-16 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种跨域web端通信方法及终端 |
CN109284458A (zh) * | 2018-09-28 | 2019-01-29 | 平安普惠企业管理有限公司 | 网页显示方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
CHONG GUAN: "《Your Neighbors are Listening: Evaluating PostMessage Use in OAuth》", 《IEEE XPLORE》 * |
李潇宇等: "《一种基于 HTML5 的安全跨文档消息传递方案》", 《中国科学院研究生院国家计算机网络入侵防范中心》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994280A (zh) * | 2023-03-23 | 2023-04-21 | 浙江数新网络有限公司 | 一种浏览器标签页通信方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110110274B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762675B2 (en) | System and method for secure real-time cloud services | |
CN103250462B (zh) | 用于实现移动电信网络中的业务加速的方法 | |
CN101902450B (zh) | 实现页面推送和行为控制的网络、推送方法、控制方法 | |
CN1642148B (zh) | 一种即时通讯处理方法 | |
ATE378759T1 (de) | Nachrichtenübertragungssystem und nachrichtendienst | |
AU2003262584A1 (en) | Booking method and system | |
WO2002080486A3 (en) | System and method for airborne passenger electronic communication | |
CN110708338A (zh) | 一种基于三层网络架构的内外网数据交互系统及其方法 | |
CN106713126B (zh) | 一种内外网间电子邮件信息单向传输方法及系统 | |
CN105471972B (zh) | 物联网信息系统 | |
CN103095802A (zh) | 一种应用浏览器管理多个账号的方法和装置 | |
CN103136042A (zh) | 一种信息处理方法及装置 | |
CN101237452B (zh) | 双向转发检测报文的发送方法、系统和设备 | |
CN103001941A (zh) | 基于多点登陆的消息分流方法及装置 | |
CN101141383A (zh) | 一种实现二层组播转发路径快速收敛的方法、系统及二层设备 | |
CN110110274A (zh) | 一种浏览器多页面消息处理分发方法 | |
CN102624691A (zh) | 可共用广告拦截配置信息的多代理上网方法 | |
CN105939379A (zh) | 基于互联网数据的实时监控预警系统及预警方法 | |
CN100546287C (zh) | 一种在即时通信过程中提供好友状态的方法、系统及设备 | |
CA2666382C (en) | Method and device for exchanging messages in a mobile radio network | |
CN106936615A (zh) | 一种报文处理方法及装置 | |
CN105721274A (zh) | 一种多种即时通讯的融合方法及装置 | |
CN109428745A (zh) | Jms消息转发方法、装置、电子设备和存储介质 | |
CN103051722A (zh) | 一种确定页面是否被劫持的方法及相关设备 | |
CN109040201A (zh) | 一种文件传输方法、系统及文件服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |