CN102882982A - 浏览器中的消息发送设备和接收设备及方法和系统 - Google Patents

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

Info

Publication number
CN102882982A
CN102882982A CN201210401336XA CN201210401336A CN102882982A CN 102882982 A CN102882982 A CN 102882982A CN 201210401336X A CN201210401336X A CN 201210401336XA CN 201210401336 A CN201210401336 A CN 201210401336A CN 102882982 A CN102882982 A CN 102882982A
Authority
CN
China
Prior art keywords
message
web page
browser
source
value
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
Application number
CN201210401336XA
Other languages
English (en)
Other versions
CN102882982B (zh
Inventor
韩学斌
黄欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210401336.XA priority Critical patent/CN102882982B/zh
Priority to CN201510624780.1A priority patent/CN105306341B/zh
Publication of CN102882982A publication Critical patent/CN102882982A/zh
Priority to PCT/CN2013/085316 priority patent/WO2014059930A1/zh
Application granted granted Critical
Publication of CN102882982B publication Critical patent/CN102882982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种浏览器中的消息发送设备,其包括:标准消息发送器,其通过网域间消息发送方式将要发送的源网页的消息发送给目标网页;第一判定器,其判定浏览器是否支持网域间消息传输机制,当判定浏览器支持网域间消息传输机制时,将要发送的源网页的消息传送至标准消息发送器,当第一判定器判定当前浏览器不支持网域间消息传输机制时,将要发送的源网页的消息传送至定制消息发送器;以及定制消息发送器,其通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。另外,本发明还提供一种消息发送方法。相应地,本发明还提供一种消息接收设备及方法、一种浏览器的通信系统及方法。

Description

浏览器中的消息发送设备和接收设备及方法和系统
技术领域
本发明涉及网络技术领域,具体涉及一种在浏览器中的消息发送设备及方法、消息接收设备及方法、以及在浏览器的通信系统及方法。
背景技术
如今,为了强化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标准所提出的网域间消息传输机制的浏览器也能够实现跨域通信。另外,本发明比较安全、可以传输大量数据类型,并且使用简单。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图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以下列方式来接收消息:
Figure BDA00002280828800071
其中,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 (22)

1.一种消息发送设备,适于在浏览器中将来自源网页的消息向目标网页发送,该消息发送设备包括:
定制消息发送器,其通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。
2.如权利要求1所述的消息发送设备,其还包括:
标准消息发送器,其通过网域间消息发送方式将要发送的源网页的消息发送给目标网页;以及
第一判定器,其判定所述浏览器是否支持网域间消息传输机制,当判定所述浏览器支持网域间消息传输机制时,将要发送的源网页的消息传送至所述标准消息发送器,当第一判定器判定所述浏览器不支持网域间消息传输机制时,将要发送的源网页的消息传送至所述定制消息发送器。
3.如权利要求1或2所述的消息发送设备,其中,源网页和目标网页属于不同的URL域。
4.如权利要求1-3中任何一项所述的消息发送设备,其中,所述特定属性值为window对象的name属性值。
5.一种消息发送方法,用于在浏览器中将来自源网页的消息向目标网页发送,包括步骤:
通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页。
6.根据权利要求5所述的消息发送方法,还包括步骤:
判定浏览器是否支持网域间消息传输机制,
当判定所述浏览器支持网域间消息传输机制时,将要发送的源网页的消息通过网域间消息发送方式将要发送的源网页的消息发送给目标网页,以及
当判定所述浏览器不支持网域间消息传输机制时,利用所述通过修改目标网页的特定属性值而将要发送的源网页的消息发送给目标网页来发送消息。
7.根据权利要求5或6所述的消息发送方法,其中,源网页和目标网页属于不同的URL域。
8.根据权利要求5-7中任何一项所述的消息发送方法,其中,所述目标网页的特定属性值为window对象的name属性值。
9.一种消息接收设备,适于在浏览器中从目标网页接收来自源网页的消息,该消息接收设备包括:
定制消息接收器,其定时检查目标网页的特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
10.根据权利要求9所述的消息接收设备,还包括:
标准消息接收器,其以网域间消息接收方式来接收来自源网页的消息;和
第二判定器,其判定所述浏览器是否支持网域间消息传输机制,当判定所述浏览器支持网域间消息传输机制时,由所述标准消息接收器来接收来自源页面的消息,当第二判定器判定所述浏览器不支持网域间消息传输机制时,由所述定制消息接收器接收来自源页面的消息。
11.如权利要求9或10所述的消息接收设备,其中所述源网页和所述目标网页属于不同的URL域。
12.根据权利要求9-11中任一个所述的消息接收设备,其中,
所述标准消息接收器包括:
监听器,其监听有否来自源网页的消息;和
触发器,当有来自源网页的消息时,触发并接收该消息,
所述定制消息接收器包括:
定时器,其定时检查目标网页的特定属性值是否发生变化且不为空。
13.根据权利要求9-12中任何一项所述的消息接收设备,还包括:
消息处理器,其处理所述标准消息接收器或者所述定制消息接收器所接收的消息。
14.如权利要求9-13中任何一项所述的消息接收设备,其中
所述目标网页的特定属性值为window对象的name属性值。
15.一种消息接收方法,用于使浏览器中的目标网页接收来自源网页的消息,所述消息接收方法包括步骤:
定时检查目标网页的特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
16.根据权利要求15所述的消息接收方法,还包括如下步骤:
判定浏览器是否支持网域间消息传输机制,
当判定所述浏览器支持网域间消息传输机制时,以网域间消息接收方式来接收来自源网页的消息,以及
当判定所述浏览器不支持网域间消息传输机制时,定时检查目标网页的特定属性值是否发生变化,如果所述特定属性值发生变化,则处理该特定属性值以获得来自源网页的消息。
17.根据权利要求15或16所述的消息接收方法,其中所述源网页和所述目标网页属于不同的URL域。
18.根据权利要求15-17所述的消息接收方法,其中
所述目标网页的特定属性值为window对象的name属性值。
19.一种浏览器的通信系统,其用于源网页与目标网页之间的通信,所述源网页和目标网页分别包括:
根据权利要求1、3、和4中任何一项所述消息发送设备;以及
根据权利要求9和11-14中任何一项所述消息接收设备。
20.一种浏览器的通信系统,其用于源网页与目标网页之间的通信,所述源网页和目标网页分别包括:
根据权利要求2、3、和4中任何一项所述消息发送设备;以及
根据权利要求10和11-14中任何一项所述消息接收设备。
21.一种浏览器的通信方法,其用于源网页与目标网页之间的通信,该通信方法包括:
根据权利要求5所述的消息发送方法;以及
根据权利要求15所述的消息接收方法。
22.一种浏览器的通信方法,其用于源网页与目标网页之间的通信,该通信方法包括:
根据权利要求6-8中任何一项所述的消息发送方法;以及
根据权利要求16-18中任何一项所述的消息接收方法。
CN201210401336.XA 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统 Active CN102882982B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210401336.XA CN102882982B (zh) 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统
CN201510624780.1A CN105306341B (zh) 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统
PCT/CN2013/085316 WO2014059930A1 (zh) 2012-10-19 2013-10-16 浏览器中的消息发送设备和接收设备及方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210401336.XA CN102882982B (zh) 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510624780.1A Division CN105306341B (zh) 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统

Publications (2)

Publication Number Publication Date
CN102882982A true CN102882982A (zh) 2013-01-16
CN102882982B CN102882982B (zh) 2015-10-07

Family

ID=47484124

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210401336.XA Active CN102882982B (zh) 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统
CN201510624780.1A Expired - Fee Related CN105306341B (zh) 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510624780.1A Expired - Fee Related CN105306341B (zh) 2012-10-19 2012-10-19 浏览器中的消息发送设备和接收设备及方法和系统

Country Status (2)

Country Link
CN (2) CN102882982B (zh)
WO (1) WO2014059930A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014059930A1 (zh) * 2012-10-19 2014-04-24 北京奇虎科技有限公司 浏览器中的消息发送设备和接收设备及方法和系统
CN104317819A (zh) * 2014-09-28 2015-01-28 北京京东尚科信息技术有限公司 基于浏览器页面间跨域通信的方法和系统
CN105373548A (zh) * 2014-08-25 2016-03-02 腾讯科技(深圳)有限公司 移动设备及其浏览器自定义事件的方法
CN113329028A (zh) * 2021-06-17 2021-08-31 中国农业银行股份有限公司 跨域访问方法及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662600A (zh) * 2012-04-28 2012-09-12 北京亿中邮信息技术有限公司 一种不同域名下文件相互拖拽的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106572A (zh) * 2007-08-23 2008-01-16 中兴通讯股份有限公司 传送资源控制功能单元之间实现跨域通信的方法
CN102043832A (zh) * 2010-11-23 2011-05-04 苏州阔地网络科技有限公司 一种网页上实现跨域请求回调的方法
CN102393857B (zh) * 2011-11-01 2014-04-09 中兴通讯股份有限公司 一种用网页进行本地调用的方法和系统
CN102917058B (zh) * 2012-10-19 2016-06-29 北京奇虎科技有限公司 一种通信方法和系统
CN102882982B (zh) * 2012-10-19 2015-10-07 北京奇虎科技有限公司 浏览器中的消息发送设备和接收设备及方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662600A (zh) * 2012-04-28 2012-09-12 北京亿中邮信息技术有限公司 一种不同域名下文件相互拖拽的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014059930A1 (zh) * 2012-10-19 2014-04-24 北京奇虎科技有限公司 浏览器中的消息发送设备和接收设备及方法和系统
CN105373548A (zh) * 2014-08-25 2016-03-02 腾讯科技(深圳)有限公司 移动设备及其浏览器自定义事件的方法
CN105373548B (zh) * 2014-08-25 2020-10-13 腾讯科技(深圳)有限公司 移动设备及其浏览器自定义事件的方法
CN104317819A (zh) * 2014-09-28 2015-01-28 北京京东尚科信息技术有限公司 基于浏览器页面间跨域通信的方法和系统
CN113329028A (zh) * 2021-06-17 2021-08-31 中国农业银行股份有限公司 跨域访问方法及设备
CN113329028B (zh) * 2021-06-17 2022-08-30 中国农业银行股份有限公司 跨域访问方法及设备

Also Published As

Publication number Publication date
CN102882982B (zh) 2015-10-07
WO2014059930A1 (zh) 2014-04-24
CN105306341A (zh) 2016-02-03
CN105306341B (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
CN101964025B (zh) Xss检测方法和设备
CN103605688B (zh) 一种网页广告的拦截方法、装置和浏览器
CN104036011A (zh) 网页元素的显示方法以及浏览器装置
CN102968584A (zh) 一种登录网页的方法和装置
CN103491543A (zh) 通过无线终端检测恶意网址的方法、无线终端
CN102890724A (zh) 网页加载方法和装置
CN103034727A (zh) 对网页中的弹窗进行拦截处理的系统
CN102917059A (zh) 一种客户端及其下载应用的方法
CN103024003B (zh) 网页登录方法和装置
CN102999636A (zh) 对网页中的弹窗进行拦截处理的方法和浏览器
CN103647678A (zh) 一种网站漏洞在线验证方法及装置
CN102981846A (zh) 对密码输入框元素进行处理的方法及浏览器
US20170371888A1 (en) Method for advertisement interception in dual-kernel browser and browser apparatus
US8789177B1 (en) Method and system for automatically obtaining web page content in the presence of redirects
CN102938766A (zh) 恶意网址提示方法和装置
CN102855334A (zh) 一种浏览器及其获取dns解析数据的方法
CN103034495A (zh) 对网页中插件进行隔离的浏览器及网页插件的隔离方法
CN103019817A (zh) 一种用于页面交互的方法与装置
CN102882982A (zh) 浏览器中的消息发送设备和接收设备及方法和系统
CN112637361A (zh) 一种页面代理方法、装置、电子设备及存储介质
CN103399871A (zh) 获取一个主域名相关联的二级域名信息的设备和方法
CN103559097A (zh) 一种浏览器中进程间通信的方法、装置和浏览器
CN102946391A (zh) 一种浏览器中提示恶意网址的方法和一种浏览器
CN103077349A (zh) 一种浏览器侧提示访问安全信息的方法及装置
CN102917058A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220729

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.