CN102917058A - 一种通信方法和*** - Google Patents
一种通信方法和*** Download PDFInfo
- Publication number
- CN102917058A CN102917058A CN2012104014324A CN201210401432A CN102917058A CN 102917058 A CN102917058 A CN 102917058A CN 2012104014324 A CN2012104014324 A CN 2012104014324A CN 201210401432 A CN201210401432 A CN 201210401432A CN 102917058 A CN102917058 A CN 102917058A
- Authority
- CN
- China
- Prior art keywords
- message
- web page
- browser
- value
- source
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种通信方法,其包括:其用于源网页与目标网页之间的通信,该通信方法包括:消息发送步骤,用于在浏览器中将来自源网页的消息向目标网页发送;以及消息接收步骤,用于使浏览器中的目标网页接收来自源网页的消息。另外,本发明还提供一种通信***。采用本发明的技术方案能够实现跨域通信。
Description
技术领域
本发明涉及网络技术领域,具体涉及一种通信方法和***。
背景技术
如今,为了强化Web网页的表现性能,许多浏览器已经开始采用HTML5技术。HTML5技术是包括以往的HTML、CSS和JavaScript在内的一套技术组合。
JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-OriginPolicy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。
JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,例如在***.com域名下的页面中包含的JavaScript代码,不能访问在***.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标准所提出的网域间消息传输机制的浏览器也能够实现跨域通信。另外,本发明比较安全、可以传输大量数据类型,并且使用简单。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一种实施方式的浏览器中的消息发送设备的框图;
图2示出了根据本发明一种实施方式的浏览器的消息发送方法的流程图;
图3示出了根据本发明一种实施方式的浏览器中的消息接收设备的框图.;
图4示出了根据本发明的一种实施方式的浏览器的消息接收方法的流程图;
图5示出了根据本发明的一种实施方式的浏览器的通信***的框图;以及
图6示出了根据本发明的一种实施方式的浏览器的通信方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合附图具体介绍本发明。
图1示出了根据本发明的一种实施方式的浏览器中的消息发送设备的框图。该消息发送设备用于将源网页的消息向目标网页发送。如图1所示,消息发送设备100包括第一判定器110、标准消息发送器120、和定制消息发送器130。
第一判定器110判定浏览器是否支持网域间消息传输机制,例如HTML5。当判定浏览器支持网域间消息传输机制时,将要发送的源网页的消息传送至标准消息发送器120;当第一判定器110判定当前浏览器不支持网域间消息传输机制时,将要发送的源网页的消息传送至定制消息发送器130。
标准消息发送器120通过网域间的消息发送方式将要发送的源网页的消息发送给目标网页。例如,HTML5采取postMessage应用的方式发送消息。以HTML5中的javascript代码为例,如果需要向目标网页发送消息,标准消息发送器120可以利用下面的代码来进行:
windowObject.postMessage(data,′*′);
其中,windowObject表示目标网页的窗口对象;data表示源网页待发送的信息,可以直接调用postMessage来发送消息。
定制消息发送器130通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。其中,表示网域间消息传输的特定属性值可以为window对象的name属性值或者其它属性的属性值,也可以是两个以上的属性的属性值。
以javascript代码为例,如果需要向目标网页发送消息,定制消息发送器130可以利用下面的代码来进行:
windowObject.name=data;
其中windowObject表示目标网页的窗口对象;data表示源网页待发送的信息,定制消息发生器130通过修改目标页面窗口对象的name属性值为待发送消息来实现消息发送。
上面图1所示的浏览器中的消息发送设备100既可以用于源网页和目标网页位于相同的URL域的情形,又可以用于源网页和目标网页位于不同的URL域的情形。例如,源网页和目标网页可以是位于同一个域abc.example.com中的不同网页,也可以源网页是位于abc.example.com的网页而目标网页是位于def.example.com的网页。
另外,可选地,图1的浏览器中的消息发送设备100可以只包括定制消息发送器130。无论目标网页是否支持网域间消息传输机制,例如HTML5。定制消息发送器130都通过修改目标网页的特定属性值(例如window对象的name属性值)而将要发送的源网页的消息发送给目标网页。
图2示出了根据本发明的一种实施方式的浏览器的消息发送方法200的流程图。如图2所示,该消息发送方法200始于步骤S205,随后,在步骤S210,判定浏览器是否支持网域间消息传输机制,例如HTML5,当判定浏览器支持网域间消息传输机制时,该方法进入步骤S220,其中将要发送的源网页的消息通过网域间的消息发送方式将要发送的源网页的消息发送给目标网页。例如,源网页可以采取postMessage应用的方式向目标网页发送消息。当在步骤S210判定当前浏览器不支持网域间消息传输机制时,则该方法进入步骤S230,其中通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。目标网页的特定属性值可以为window对象的name属性值或者其它属性的属性值,也可以是两个以上的属性的属性值。在步骤S220或步骤S230之后,本发明的消息发送方法以步骤S235结束。
在上面图2所示的浏览器中的消息发送方法200中,源网页和目标网页可以位于相同的URL域或者位于不同的URL域。例如,二者可以位于同一个域abc.example.com中的不同网页,也可以源网页是位于abc.example.com的网页而目标网页是位于def.example.com的网页。
另外,可选地,图2所示的浏览器中的消息发送方法可以只包括步骤:通过修改目标网页的特定属性值将要发送的源网页的消息发送给目标网页。在这种实施方式中,无论目标网页是否支持网域间消息传输机制,都通过修改目标网页的特定属性值而将源网页的消息发送给目标网页。
图3示出了根据本发明的一种实施方式的浏览器中的消息接收设备300的框图。消息接收设备300使目标网页接收来自源网页的消息。如图3所示,消息接收设备300包括第二判定器310、标准消息接收器320、和定制消息接收器330。
第二判定器310判定浏览器是否支持网域间消息传输机制。当第二判定器310判定浏览器支持网域间消息传输机制时,由标准消息接收器320来接收来自源页面的消息;当第二判定器310判定当前浏览器不支持网域间消息传输机制时,定制消息接收器330接收来自源页面的消息。
标准消息接收器320以网域间的消息接收方式来接收来自源网页的消息。例如,源网页与目标网页支持网域间消息传输,则标准消息接收器320可以采取与postMessage相对应的方式接收来自源网页的消息。
以javacript代码为例,标准消息接收器320以下列方式来接收消息:
其中,wan360.xdomain.handler为要处理所接收的消息的函数。在标准消息接收器320中,当接收到消息时,会触发相应的事件(根据不同的浏览器版本,有可能是message事件或者onmessage事件),通过将wan360.xdomain.handler注册为监控该事件,当网页收到消息时,会触发相应事件,而监控事件的wan360.xdomain.handler就会接收到该消息并进行处理。
定制消息接收器330定时检查目标网页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。其中,网页的特定属性值可以为window对象的name属性值或者其它属性的属性值,也可以是两个以上的属性的属性值。
以javacript代码为例,定制消息接收器330以下列方式来接收消息:
在上面的示例中,cb是处理消息的函数,通过定期去检查window对象的name值是否发生改变或者是否为空,当name值发生改变时,说明接收到了消息,这时可以由cb来处理该消息。
可选地,图3所示的消息接收设备300还可以包括消息处理设备(例如上面示例中的cb),其处理由标准消息接收器320和定制消息接收器330所接收的来自源网页的消息。可选地,该消息处理设备也可独立于消息接收设备300而设置。
可选地,标准消息接收设备320包括:***3210,其监听有否来自源网页的消息;和触发器3210,当有来自源网页的消息时,触发并接收该消息。
可选地,定制消息接收器330包括定时器3310,其定时检查目标网页的特定属性值是否发生变化且不为空。
上面图3所示的浏览器中的消息接收设备300既可以用于源网页和目标网页位于相同的URL域的情形,也可以用于源网页和目标网页位于不同的URL域的情形。例如,源网页和目标网页可以是位于同一个域abc.example.com中的不同网页,也可以源网页是位于abc.example.com的网页而目标网页是位于def.example.com的网页。
另外,可选地,图3所示的浏览器中的消息发送设备300可以只包括定制消息接收器330。无论目标网页是否支持网域间消息传输机制,例如HTML5,定制消息接收器330都定时检查目标网页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
图4示出了根据本发明的一种实施方式的浏览器的消息接收方法400的流程图,用于使目标网页接收来自源网页的消息。如图4所示,该消息接收方法400始于步骤S405,随后,在步骤S410,判定浏览器是否支持网域间消息传输机制,例如是否支持HTML5。当判定浏览器支持网域间消息传输机制时,则执行步骤S420,以网域间的消息接收方式来接收来自源网页的消息。例如,目标网页可以采取与postMessage应用相对应的方式接收来自源网页的消息。在步骤S410中,判定当前浏览器不支持网域间消息传输机制时,则该方法进入步骤S430,其中定时检查目标网页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。其中,网页的特定属性值可以为window对象的name属性值或者其它属性的属性值,也可以是两个以上的属性的属性值。
在步骤S420或步骤S430之后可以直接以步骤S445结束,可选地,在步骤S420或步骤S430之后,消息接收方法400还可以包括步骤S440,其中,处理接收到的来自源网页的消息,以供在目标网页显示。然后,再以步骤S445结束。
上面图4所示的浏览器中的消息接收方法既可以用于源网页和目标网页位于相同的URL域的情形,也可以用于源网页和目标网页位于不同的URL域的情形。例如,源网页和目标网页可以是位于同一个域abc.example.com中的不同网页,也可以源网页是位于abc.example.com的网页而目标网页是位于def.example.com的网页。
图5示出了根据本发明的一种实施方式的浏览器的通信***500的框图,其用于源网页与目标网页之间的通信。如图5所示,本发明的浏览器的通信***500包括图1中所示的消息发送设备100和图3中所示的消息接收设备300。其中,消息发送设备100包括图1中所示的第一判定器110、标准消息发送器120、和定制消息发送器130。消息接收设备300包括图1中所示的第二判定器310、标准消息接收器320、和定制消息接收器330。
具体地,消息发送设备100中的第一判定器110判定浏览器是否支持网域间消息传输机制,例如HTML5。当判定浏览器支持网域间消息传输机制时,将要发送的源网页的消息传送至标准消息发送器120。标准消息发送器120将源网页的消息以网域间的消息发送方式发送给消息接收设备300的第二判定器310。第二判定器310判定浏览器是否支持网域间消息传输机制,当判定浏览器支持网域间消息传输机制时,由标准消息接收器320接收来自源页面的消息。
当第一判定器110判定浏览器不支持网域间消息传输机制时,将要发送的源网页的消息传送至定制消息发送器130。定制消息发送器130通过修改目标网页的特定属性值而将要发送的源网页的消息发送给消息接收设备300的第二判定器310,第二判定器310判定浏览器是否支持网域间消息传输机制,当判定浏览器不支持网域间消息传输机制时,由定制消息接收器330定时检查目标网页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
可选地,本发明的浏览器的通信***还可以包括消息处理器510。消息处理器510处理标准消息接收器320或者定制消息接收器330所接收的消息。
本发明的浏览器的通信***500既可以用于源网页和目标网页位于相同的URL域的情形,又可以用于源网页和目标网页位于不同的URL域的情形。例如,源网页和目标网页可以是位于同一个域abc.example.com中的不同网页,也可以源网页是位于abc.example.com的网页而目标网页是位于def.example.com的网页。
另外,可选地,本发明的浏览器的通信***500中的消息发送设备100可以只包括定制消息发送器130,相应地,消息接收设备300可以只包括定制消息发送器330。在这种情形下,无论目标网页是否支持网域间消息传输,定制消息发送器130都通过修改目标网页的特定属性值(例如window对象的name属性值)而将要发送的源网页的消息发送给目标网页,相应地,定制消息接收器330都定时检查目标网页的特定属性值是否发生变化,如果特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
另外,本发明的浏览器的通信***500可以如上所述,其中的消息发送设备100设置于源网页中,而消息接收设备300设置于目标网页中,从而使得目标网页总是可以接受来自源网页的消息。但本发明的浏览器的通信***500并不限于此,在源网页和目标网页中都可以既包含消息发送设备100,也包含消息接收设备300,以便任何一个网页都既可以发送消息也可以接收消息。
下面通过一个具体的例子对本发明的浏览器的通信***500进行更为详细的说明。
在该例子中,本发明的浏览器的通信***500使位于第一域a.com中的一个网页parent.html与其通过iframe嵌入的第二域b.com中的网页child.html之间进行跨域通信。其中,第一域中的网页parent.html为源网页,第二域中的网页child.html称为目标网页。
第一域中的网页parent.html具有消息发送设备100,其通过sendMessage负责向目标网页发送消息。第二域中的网页child.html具有消息接收设备300和消息处理器510,消息接收设备300通过监听而负责接收源网页发送过来的消息并将消息交由消息处理器510进行处理。
消息发送设备100具有第一判定器110、标准消息发送器120和定制消息发送器130。其中第一判定器110判断浏览器是否支持HTML5,例如Firefox,IE8+,Opera,Safari,Chrome为支持HTML5的浏览器,而IE6和IE7为不支持HTML5的浏览器。当判定浏览器支持HTML5时,标准消息发送器120通过HTML5的postMessage函数将消息发送到目标网页,否则,定制消息发送器130通过修改目标网页中的window对象的name属性向目标网页发送消息。
消息接收设备300包括第二判定器310、标准消息接收器320和定制消息接收器330。其中,第二判定器310判断浏览器是否支持HTML5,如果判定浏览器支持HTML5,则标准消息接收器320通过addEventListener或attachEvent(视浏览器支持情况选择)添加消息监听事件,例如源网页来消息即为一事件,通过事件触发而获取源网页传递的消息,再将消息交给消息处理器510进行处理;否则,定制消息接收器330将定时探测目标网页的window对象的name属性值,当name属性值发生变化且不为空时,获取源页面发送的消息,然后交给消息处理器510进行处理。另外,本发明还提供一种根据本发明的一种实施方式的浏览器的通信方法600的流程图,如图6所示,其用于源网页与目标网页之间的通信。该浏览器的通信方法如于步骤S605,然后执行图2中所示的消息发送方法、之后执行图4中所示的消息接收方法,然后以步骤S665结束该通信方法。关于前述消息发送方法具体参见前面关于图2的描述,关于前述消息接收方法具体参见前面关于图4的描述,这里不再重复描述。
总结而言,为了实现采用HTML5的浏览器的Web页面(以下称为“源网页”)与其通过iframe嵌入的不同域的Web页面(以下称为“目标网页”)之间的跨域通信,本发明首先判断目标网页是否支持HTML5,如果支持HTML5,则采用HTML5的消息发送方式即postMessage应用进行通信,如果不支持HTML5,则通过修改目标网页window对象的name属性完成消息的发送,而目标网页则通过判断window对象的name属性的值是否发生变化或者是否为空来判断是否接收消息,由此可以实现不同域的Web页面之间的跨域通信。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (14)
1.一种通信***,其用于源网页与目标网页之间的通信,所述源网页和目标网页分别包括:
消息发送设备,适于在浏览器中将来自源网页的消息向目标网页发送;以及
消息接收设备,适于在浏览器中从目标网页接收来自源网页的消息。
2.如权利要求1所述的通信***,其中,所述消息发送设备包括:
定制消息发送器,其通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页;
所述消息接收设备包括:
定制消息接收器,其定时检查目标网页的特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
3.如权利要求2所述的通信***,其中,所述消息接收设备还包括:
标准消息接收器,其以网域间消息接收方式来接收来自源网页的消息;和
第二判定器,其判定所述浏览器是否支持网域间消息传输机制,当判定所述浏览器支持网域间消息传输机制时,由所述标准消息接收器来接收来自源页面的消息,当第二判定器判定所述浏览器不支持网域间消息传输机制时,由所述定制消息接收器接收来自源页面的消息。
4.如权利要求3所述的通信***,其中,所述标准消息接收器包括:
***,其监听有否来自源网页的消息;和
触发器,当有来自源网页的消息时,触发并接收该消息,
所述定制消息接收器包括:
定时器,其定时检查目标网页的特定属性值是否发生变化且不为空。
5.如权利要求2-4中任何一项所述的通信***,其中所述消息接收设备还包括:
消息处理器,其处理所述标准消息接收器或者所述定制消息接收器所接收的消息。
6.如权利要求1-5中任一项所述的通信***,其中,源网页和目标网页属于不同的URL域。
7.如权利要求1-6中任何一项所述的通信***,其中,所述特定属性值为window对象的name属性值。
8.一种通信方法,其用于源网页与目标网页之间的通信,该通信方法包括:
消息发送步骤,用于在浏览器中将来自源网页的消息向目标网页发送;以及
消息接收步骤,用于使浏览器中的目标网页接收来自源网页的消息。
9.如权利要求8所述的通信方法,其中,所述消息发送步骤还包括:
通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。
10.如权利要求8或9所述的通信方法,其中所述消息发送步骤还包括:
判定浏览器是否支持网域间消息传输机制,
当判定所述浏览器支持网域间消息传输机制时,将要发送的源网页的消息通过网域间消息发送方式将要发送的源网页的消息发送给目标网页,以及
当判定所述浏览器不支持网域间消息传输机制时,利用所述通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页来发送消息。
11.如权利要求8-10中任一项所述的通信方法,其中,所述消息接收步骤还包括:
定时检查目标网页的特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
12.如权利要求11所述的通信方法,其中,所述消息接收步骤还包括:
判定浏览器是否支持网域间消息传输机制,
当判定所述浏览器支持网域间消息传输机制时,以网域间消息接收方式来接收来自源网页的消息,以及
当判定所述浏览器不支持网域间消息传输机制时,定时检查目标网页的特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
13.如权利要求8-12中任一项所述的通信方法,其中所述源网页和所述目标网页属于不同的URL域。
14.如权利要求11-13中任一项所述的通信方法,其中,所述目标网页的特定属性值为window对象的name属性值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210401432.4A CN102917058B (zh) | 2012-10-19 | 2012-10-19 | 一种通信方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210401432.4A CN102917058B (zh) | 2012-10-19 | 2012-10-19 | 一种通信方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102917058A true CN102917058A (zh) | 2013-02-06 |
CN102917058B CN102917058B (zh) | 2016-06-29 |
Family
ID=47615288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210401432.4A Expired - Fee Related CN102917058B (zh) | 2012-10-19 | 2012-10-19 | 一种通信方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102917058B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014059930A1 (zh) * | 2012-10-19 | 2014-04-24 | 北京奇虎科技有限公司 | 浏览器中的消息发送设备和接收设备及方法和*** |
CN112380027A (zh) * | 2020-10-20 | 2021-02-19 | 福建天泉教育科技有限公司 | 一种实现移动端环境下不同网页间的通信方法与终端 |
CN113542229A (zh) * | 2021-06-21 | 2021-10-22 | 浙大城市学院 | 一种安全非同源页面跨域通信的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662600A (zh) * | 2012-04-28 | 2012-09-12 | 北京亿中邮信息技术有限公司 | 一种不同域名下文件相互拖拽的方法 |
-
2012
- 2012-10-19 CN CN201210401432.4A patent/CN102917058B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662600A (zh) * | 2012-04-28 | 2012-09-12 | 北京亿中邮信息技术有限公司 | 一种不同域名下文件相互拖拽的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014059930A1 (zh) * | 2012-10-19 | 2014-04-24 | 北京奇虎科技有限公司 | 浏览器中的消息发送设备和接收设备及方法和*** |
CN112380027A (zh) * | 2020-10-20 | 2021-02-19 | 福建天泉教育科技有限公司 | 一种实现移动端环境下不同网页间的通信方法与终端 |
CN112380027B (zh) * | 2020-10-20 | 2023-06-20 | 福建天泉教育科技有限公司 | 一种实现移动端环境下不同网页间的通信方法与终端 |
CN113542229A (zh) * | 2021-06-21 | 2021-10-22 | 浙大城市学院 | 一种安全非同源页面跨域通信的方法 |
CN113542229B (zh) * | 2021-06-21 | 2023-03-24 | 浙大城市学院 | 一种安全非同源页面跨域通信的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102917058B (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101964025B (zh) | Xss检测方法和设备 | |
EP2691907B1 (en) | Methods and apparatus for blocking usage tracking | |
US8789198B2 (en) | Triggering a private browsing function of a web browser application program | |
CN102882991B (zh) | 一种浏览器及其进行域名解析的方法 | |
CN102843445B (zh) | 一种浏览器及其进行域名解析的方法 | |
CN102882993A (zh) | 计算设备及其下载方法 | |
CN103500194A (zh) | 一种进行网页加载的方法、装置和浏览器 | |
CN102957694A (zh) | 一种判断钓鱼网站的方法及装置 | |
CN102917059A (zh) | 一种客户端及其下载应用的方法 | |
CN102647417A (zh) | 网络访问的实现方法、装置和***、以及网络*** | |
CN102929985A (zh) | 一种收藏网页展示的方法和*** | |
CN102968584A (zh) | 一种登录网页的方法和装置 | |
CN103019817B (zh) | 一种用于页面交互的方法与装置 | |
CN102902802A (zh) | 一种网页转码方法和装置 | |
CN102937981A (zh) | 网页呈现***和方法 | |
CN102855334A (zh) | 一种浏览器及其获取dns解析数据的方法 | |
CN103152355A (zh) | 对危险网站进行提示的方法、***及客户端设备 | |
CN102981846A (zh) | 对密码输入框元素进行处理的方法及浏览器 | |
CN103117893A (zh) | 一种网络访问行为的监控方法、装置和一种客户端设备 | |
CN102938766A (zh) | 恶意网址提示方法和装置 | |
CN103024038A (zh) | 用于浏览网页的方法及装置 | |
CN112637361A (zh) | 一种页面代理方法、装置、电子设备及存储介质 | |
CN102882982A (zh) | 浏览器中的消息发送设备和接收设备及方法和*** | |
CN103077349B (zh) | 一种浏览器侧提示访问安全信息的方法及装置 | |
CN103559097A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160629 Termination date: 20211019 |