浏览器中的消息发送设备和接收设备及方法和系统的制作方法

文档序号:9551183阅读:448来源:国知局
浏览器中的消息发送设备和接收设备及方法和系统的制作方法
【专利说明】
[0001] 本申请为申请日是2012年10月19日,申请号是201210401336.X,名称是"浏览 器中的消息发送设备和接收设备及方法和系统"的发明专利申请的分案申请。
技术领域
[0002] 本发明涉及网络技术领域,具体涉及一种在浏览器中的消息发送设备及方法、消 息接收设备及方法、以及在浏览器的通信系统及方法。
【背景技术】
[0003] 如今,为了强化Web网页的表现性能,许多浏览器已经开始采用HTML5技术。HTML5 技术是包括以往的HTML、CSS和JavaScript在内的一套技术组合。
[0004] JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript 中,有一个很重要的安全性限制,被称为"Same-OriginPolicy"(同源策略)。这一策略对 于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包 含它的文档在同一域下的内容。
[0005] JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显 得尤为重要。根据这个策略,例如在baidu.com域名下的页面中包含的JavaScript代码, 不能访问在google,com域名下的页面内容;甚至不同的子域名之间的页面也不能通过 JavaScript代码互相访问。对于Ajax的影响在于,通过XMLHttpRequest实现的Ajax请 求,不能向不同的域提交请求,例如,在abc.example,com下的页面,不能向def.example, com提交Ajax请求,等等。
[0006] 然而,当进行一些比较深入的前端编程的时候,不可避免地需要进行跨域操作,这 时候"同源策略"就显得过于苛刻。
[0007]目前,HTML5为了解决跨域通信问题,引入了一个新的网域间消息传输机制 postMessage,postMessage允许页面中的多个iframe或window之间的通信。一些浏览器 即使还不支持HTML5,但是也将这种网域间消息传输机制引入到浏览器中。然而,当前并不 是所有的浏览器都支持HTML5标准,例如IE6和IE7等不仅不支持HTML5,而且也不支持这 种网域间消息传输机制。因此postMessage消息传输机制不能由占不小市场份额的IE6、 IE7采用来进行跨域通信。
[0008] 因此,需要一种能够考虑到浏览器的不兼容性而可靠地进行网页跨域通信的技 术。

【发明内容】

[0009] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的消息发送设备及方法、消息接收设备及方法、和浏览器的通信系统及通信方法。 [0010] 依据本发明的一个方面,提供了一种消息发送设备,其在浏览器中将来自源网页 的消息向目标网页发送。该消息发送设备包括定制消息发送器,该定制消息发送器通过修 改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。
[0011] 可选地,本发明的消息发送设备还包括:标准消息发送器,其通过网域间消息发送 方式将要发送的源网页的消息发送给目标网页;以及第一判定器,其判定浏览器是否支持 网域间消息传输机制,当判定浏览器支持网域间消息传输机制时,将要发送的源网页的消 息传送至标准消息发送器,当第一判定器判定所述浏览器不支持网域间消息传输机制时, 将要发送的源网页的消息传送至所述定制消息发送器。
[0012] 根据本发明的另一方面,提供了一种消息发送方法,其在浏览器中将来自源网页 的消息向目标网页发送,该消息发送方法包括步骤:通过修改目标网页的特定属性值而将 要发送的源网页的消息发送给目标网页。
[0013] 可选地,本发明的消息发送方法还包括如下步骤:判定浏览器是否支持网域间消 息传输机制;当判定所述浏览器支持网域间消息传输机制时,将要发送的源网页的消息通 过网域间消息发送方式将要发送的源网页的消息发送给目标网页;以及当判定所述浏览器 不支持网域间消息传输机制时,利用所述通过修改目标网页的特定属性值而将要发送的源 网页的消息发送给目标网页来发送消息。
[0014] 根据本发明的又一方面,本发明提供一种消息接收设备,其在浏览器中从目标网 页接收来自源网页的消息,该消息接收设备包括:定制消息接收器,其定时检查目标网页的 特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来 自源网页的消息。
[0015] 可选地,本发明的消息接收设备还包括:标准消息接收器,其以网域间消息接收方 式来接收来自源网页的消息;和第二判定器,其判定浏览器是否支持网域间消息传输机制, 当判定浏览器支持网域间消息传输机制时,由标准消息接收器来接收来自源页面的消息, 当第二判定器判定所述浏览器不支持网域间消息传输机制时,由定制消息接收器接收来自 源页面的消息。
[0016] 根据本发明的又一方面,本发明提供一种消息接收方法,其使浏览器中的目标网 页接收来自源网页的消息,该消息接收方法包括步骤:定时检查目标网页的特定属性值是 否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
[0017] 可选地,本发明的消息接收方法还包括如下步骤:判定浏览器是否支持网域间消 息传输机制;当判定浏览器支持网域间消息传输机制时,以网域间消息接收方式来接收来 自源网页的消息,以及当判定所述浏览器不支持网域间消息传输机制时,定时检查目标网 页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来 自源网页的消息。
[0018] 根据本发明的又一方面,本发明提供一种浏览器的通信系统,其用于源网页与目 标网页之间的通信,其中源网页和目标网页分别包括前面所述本发明的消息发送设备;以 及前面所述的本发明的消息接收设备。
[0019] 根据本发明的再一方面,本发明提供一种浏览器的通信方法,其用于源网页与目 标网页之间的通信,该通信方法包括:前面所述的本发明的消息发送方法;以及前面所述 的本发明的消息接收方法。
[0020] 利用本发明,可以使得不支持HTML5标准所提出的网域间消息传输机制的浏览器 也能够实现跨域通信。另外,本发明比较安全、可以传输大量数据类型,并且使用简单。
[0021] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0022] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0023] 图1示出了根据本发明一种实施方式的浏览器中的消息发送设备的框图;
[0024] 图2示出了根据本发明一种实施方式的浏览器的消息发送方法的流程图;
[0025] 图3示出了根据本发明一种实施方式的浏览器中的消息接收设备的框图.;
[0026] 图4示出了根据本发明的一种实施方式的浏览器的消息接收方法的流程图;
[0027] 图5示出了根据本发明的一种实施方式的浏览器的通信系统的框图;以及图6示 出了根据本发明的一种实施方式的浏览器的通信方法的流程图。
【具体实施方式】
[0028] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0029] 下面结合附图具体介绍本发明。
[0030] 图1示出了根据本发明的一种实施方式的浏览器中的消息发送设备的框图。该消 息发送设备用于将源网页的消息向目标网页发送。如图1所示,消息发送设备100包括第 一判定器110、标准消息发送器120、和定制消息发送器130。
[0031] 第一判定器110判定浏览器是否支持网域间消息传输机制,例如HTML5。当判定 浏览器支持网域间消息传输机制时,将要发送的源网页的消息传送至标准消息发送器120; 当第一判定器110判定当前浏览器不支持网域间消息传输机制时,将要发送的源网页的消 息传送至定制消息发送器130。
[0032] 标准消息发送器120通过网域间的消息发送方式将要发送的源网页的消息发 送给目标网页。例如,HTML5采取postMessage应用的方式发送消息。以HTML5中的 javascript代码为例,如果需要向目标网页发送消息,标准消息发送器120可以利用下面 的代码来进行:
[0033]windowObject.postMessage(data,,*');
[0034] 其中,windowObject表示目标网页的窗口对象;data表示源网页待发送的信息, 可以直接调用postMessage来发送消息。
[0035] 定制消息发送器130通过修改目标网页的特定属性值而将要发送的源网页的消 息发送给目标网页。其中,表示网域间消息传输的特定属性值可以为window对象的name 属性值或
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1