浏览器中的消息发送设备和接收设备及方法和系统技术方案

技术编号:8217787 阅读:140 留言:0更新日期:2013-01-17 21:52
本发明专利技术公开了一种浏览器中的消息发送设备,其包括:标准消息发送器,其通过网域间消息发送方式将要发送的源网页的消息发送给目标网页;第一判定器,其判定浏览器是否支持网域间消息传输机制,当判定浏览器支持网域间消息传输机制时,将要发送的源网页的消息传送至标准消息发送器,当第一判定器判定当前浏览器不支持网域间消息传输机制时,将要发送的源网页的消息传送至定制消息发送器;以及定制消息发送器,其通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。另外,本发明专利技术还提供一种消息发送方法。相应地,本发明专利技术还提供一种消息接收设备及方法、一种浏览器的通信系统及方法。

【技术实现步骤摘要】

本专利技术涉及网络
,具体涉及一种在浏览器中的消息发送设备及方法、消息接收设备及方法、以及在浏览器的通信系统及方法。
技术介绍
如今,为了强化Web网页的表现性能,许多浏览器已经开始采用HTML5技术。HTML5技术是包括以往的HTML、CSS和JavaScript在内的一套技术组合。JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。·JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,例如在baidu. com域名下的页面中包含的JavaScript代码,不能访问在google, com域名下的页面内容;甚至不同的子域名之间的页面也不能通过JavaScript代码互相访问。对于Ajax的影响在于,通过XMLHttpReques t实现的Ajax请求,不能向不同的域提交请求,例如,在abc. example, com下的页面,不能向def. example,com提交Ajax请求,等等。然而,当进行一些比较深入的前端编程的时候,不可避免地需要进行跨域操作,这时候“同源策略”就显得过于苛刻。目前,HTML5为了解决跨域通信问题,引入了一个新的网域间消息传输机制postMessage, postMessage允许页面中的多个iframe或window之间的通信。一些浏览器即使还不支持HTML5,但是也将这种网域间消息传输机制引入到浏览器中。然而,当前并不是所有的浏览器都支持HTML5标准,例如IE6和IE7等不仅不支持HTML5,而且也不支持这种网域间消息传输机制。因此postMessage消息传输机制不能由占不小市场份额的IE6、IE7采用来进行跨域通信。因此,需要一种能够考虑到浏览器的不兼容性而可靠地进行网页跨域通信的技术。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的消息发送设备及方法、消息接收设备及方法、和浏览器的通信系统及通信方法。依据本专利技术的一个方面,提供了一种消息发送设备,其在浏览器中将来自源网页的消息向目标网页发送。该消息发送设备包括定制消息发送器,该定制消息发送器通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。可选地,本专利技术的消息发送设备还包括标准消息发送器,其通过网域间消息发送方式将要发送的源网页的消息发送给目标网页;以及第一判定器,其判定浏览器是否支持网域间消息传输机制,当判定浏览器支持网域间消息传输机制时,将要发送的源网页的消息传送至标准消息发送器,当第一判定器判定所述浏览器不支持网域间消息传输机制时,将要发送的源网页的消息传送至所述定制消息发送器。根据本专利技术的另一方面,提供了一种消息发送方法,其在浏览器中将来自源网页的消息向目标网页发送,该消息发送方法包括步骤通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。可选地,本专利技术的消息发送方法还包括如下步骤判定浏览器是否支持网域间消息传输机制;当判定所述浏览器支持网域间消息传输机制时,将要发送的源网页的消息通过网域间消息发送方式将要发送的源网页的消息发送给目标网页;以及当判定所述浏览器不支持网域间消息传输机制时,利用所述通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页来发送消息。根据本专利技术的又一方面,本专利技术提供一种消息接收设备,其在浏览器中从目标网页接收来自源网页的消息,该消息接收设备包括定制消息接收器,其定时检查目标网页的 特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。可选地,本专利技术的消息接收设备还包括标准消息接收器,其以网域间消息接收方式来接收来自源网页的消息;和第二判定器,其判定浏览器是否支持网域间消息传输机制,当判定浏览器支持网域间消息传输机制时,由标准消息接收器来接收来自源页面的消息,当第二判定器判定所述浏览器不支持网域间消息传输机制时,由定制消息接收器接收来自源页面的消息。根据本专利技术的又一方面,本专利技术提供一种消息接收方法,其使浏览器中的目标网页接收来自源网页的消息,该消息接收方法包括步骤定时检查目标网页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。可选地,本专利技术的消息接收方法还包括如下步骤判定浏览器是否支持网域间消息传输机制;当判定浏览器支持网域间消息传输机制时,以网域间消息接收方式来接收来自源网页的消息,以及当判定所述浏览器不支持网域间消息传输机制时,定时检查目标网页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。根据本专利技术的又一方面,本专利技术提供一种浏览器的通信系统,其用于源网页与目标网页之间的通信,其中源网页和目标网页分别包括前面所述本专利技术的消息发送设备;以及前面所述的本专利技术的消息接收设备。根据本专利技术的再一方面,本专利技术提供一种浏览器的通信方法,其用于源网页与目标网页之间的通信,该通信方法包括前面所述的本专利技术的消息发送方法;以及前面所述的本专利技术的消息接收方法。利用本专利技术,可以使得不支持HTML5标准所提出的网域间消息传输机制的浏览器也能够实现跨域通信。另外,本专利技术比较安全、可以传输大量数据类型,并且使用简单。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I示出了根据本专利技术一种实施方式的浏览器中的消息发送设备的框图;图2示出了根据本专利技术一种实施方式的浏览器的消息发送方法的流程图;图3示出了根据本专利技术一种实施方式的浏览器中的消息接收设备的框图.;图4示出了根据本专利技术的一种实施方式的浏览器的消息接收方法的流程图;图5示出了根据本专利技术的一种实施方式的浏览器的通信系统的框图;以及·图6示出了根据本专利技术的一种实施方式的浏览器的通信方法的流程图。具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。下面结合附图具体介绍本专利技术。图I示出了根据本专利技术的一种实施方式的浏览器中的消息发送设备的框图。该消息发送设备用于将源网页的消息向目标网页发送。如图I所示,消息发送设备100包括第一判定器110、标准消息发送器120、和定制消息发送器130。第一判定器110判定浏览器是否支持网域间消息传输机制,例如H本文档来自技高网
...

【技术保护点】
一种消息发送设备,适于在浏览器中将来自源网页的消息向目标网页发送,该消息发送设备包括:定制消息发送器,其通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。

【技术特征摘要】

【专利技术属性】
技术研发人员:韩学斌黄欢
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1