跨域访问页面装置和跨域访问页面方法制造方法及图纸

技术编号:8736243 阅读:169 留言:0更新日期:2013-05-26 12:08
本发明专利技术提供了一种跨域访问页面装置和一种跨域访问页面方法,其中,跨域访问页面装置包括:WEB产品模块,通过WEB产品脚本从WEB产品所属的第一域向即时通讯客户端所属的第二域发送页面请求;即时通讯客户端,在接收到页面请求后,获取即时通讯客户端所属的第二域的页面数据,将页面数据嵌套进WEB产品的页面中,以完成跨域取数。通过本发明专利技术的技术方案,不仅解决了Javascript脚本跨任何域的问题,而且解决了跨域请求任意页面数据的问题,简化了客户端部署的难度和集成开发的工作量。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及一种跨域访问页面装置和一种跨域访问页面方法。
技术介绍
在互联网的应用中,IE出于安全考虑,对javascript脚步跨域访问具有严格的限制,脚本只能请求本域的数据。JQuery的ajax请求受域的限制,使得它使用起来还得考虑跨域问题。在服务平台的即时通讯(頂)开发中,由于頂是一个独立的项目,是产品的一个辅助功能,它又要集成到其它WEB产品的页面中,如JSP、PHP、ASPX等。即在开发服务支持系统时,需要开发一个即时通讯系统,并且这个系统还需要作为一个功能嵌入到其它产品中。由于公司的WEB产品是以软件包的模式进行销售的。因此,用户使用时,可以在任何域下使用,这样就需要跨各种域进行访问,而Javascript脚本由于受IE安全性限制又不能跨域。最直接的方法就是实现一个服务代理,通过服务代理访问通讯系统,而这种实现,对不同的系统需要开发不同的代理,开发和维护成本都很高,而且不通用。研究了一下yahoo和淘宝的跨域实现,都只能实现跨父子域;又研究了一下google的广告推送装置,也是通过iframe进行简单跨域,不能满足要求。由于公司都是软件包的产品,产品部署在用户本地服务器上,一方面,用户可以根据自己的实际情况选择不同的域,因此,安装产品包的域与即时通讯产品的域就可能是不同的域;另一方面,需要集成即时通讯的产品可以使用不同的语言,需要简化集成。因此,需要一种新的跨域访问页面技术,可解决javascript脚本跨域的问题,并简化客户端部署的难度。
技术实现思路
本专利技术正是基于上述问题,提出了一种新的跨域访问页面技术,可解决javascript脚本跨域访问的问题,并简化客户端部署的难度。有鉴于此,根据本专利技术的一个方面,提出了一种跨域访问页面装置,包括:WEB产品模块,通过WEB产品脚本从WEB产品所属的第一域向即时通讯客户端所属的第二域发送页面请求;即时通讯客户端,在接收到所述页面请求后,获取所述即时通讯客户端所属的第二域的页面数据,将所述页面数据嵌套进所述WEB产品的页面中,以完成跨域取数。通过该技术方案可实现跨任何域和IP,并能够取全页面数据,即解决了脚本跨各种域取全数据的问题,并简化客户端部署的难度。在使用本跨域访问页面装置时,只需要在集成需要显示的页面中引用脚本文件就可以实现。在上述技术方案中,优选的,所述WEB产品模块具体用于在需加载所述第二域的产品页面时,引用所述第二域的接口脚本文件,以及在所述WEB产品的页面中加载完成所述第二域的接口脚本文件时,调用Dom对象(访问HTML文档对象的一套属性、方法和事件),利用JSONP协议发送所述页面请求至所述即时通讯客户端。通过上述技术方案实现了初始化第一域产品请求的跨域处理。在上述技术方案中,优选的,所述即时通讯客户端包括:WEB通讯页面,接收所述页面请求并根据所述页面请求对所述即时通讯客户端进行请求;代理组件,处理所述页面请求,并将请求内容返回至所述WEB产品的页面。在上述技术方案中,优选的,所述代理组件包括:创建单元,创建处理请求的实例,以及创建链接方法的实例;配置单元,设置请求异常处理次数和请求处理的编码;获取单元,调用所述处理请求的实例和所述链接方法的实例,执行处理请求方法和链接方法,获取所述请求内容,并将所述请求内容返回至所述WEB产品的页面。通过上述技术方案,完成了即时通讯客户端组件处理页面请求,跨域组件独立封装,可以应用于其他产品的脚本跨域,由于跨域组件(即时通讯客户端中的组件)的代码部署在服务器端,因此降低了产品维护成本和升级成本。在上述技术方案中,优选的,所述即时通讯客户端还包括:消息组件,在执行完所述页面请求之后,所述WEB产品通过所述消息组件向即时通讯服务端发送握手指令,以及向所述即时通讯服务端发送基于XMPP协议的异步消息,由所述即时通讯服务端的消息中心处理所述异步消息;所述即时通信客户端接收所述即时通讯服务端推送的消息,实现消息跨域处理。通过即时通讯客户端代理组件在后台对页面进行请求,向即时通讯服务端的消息中心发送数据并接收对方数据,实现了客户端无安装的脚本跨域数据请求处理。由于在产品页面集成时,采用javascript引用,解决了用于不同开发语言开发产品的集成问题。根据本专利技术的另一方面,还提供了一种跨域访问页面方法,包括:步骤302,通过WEB产品脚本从WEB产品所属的第一域向即时通讯客户端所属的第二域发送页面请求;步骤304,在接收到所述页面请求后,获取所述即时通讯客户端所属的第二域的页面数据,将所述页面数据嵌套进所述WEB产品的页面中,以完成跨域取数。通过该技术方案可实现跨任何域和IP,并能够取全页面数据,即解决了脚本跨各种域取全数据的问题,并简化客户端部署的难度。在使用本跨域访问页面方法时,只需要在集成需要显示的页面中引用脚本文件就可以实现。在上述技术方案中,优选的,所述步骤302具体包括:在所述第一域需加载所述第二域的产品页面时,引用所述第二域的接口脚本文件;在所述WEB产品的页面中加载完成所述第二域的接口脚本文件时,调用Dom对象,利用JSONP协议发送所述页面请求至所述即时通讯客户端。通过上述技术方案实现了初始化第一域产品请求的跨域处理。在上述技术方案中,优选的,所述步骤304具体包括:所述即时通讯客户端中的WEB通讯页面接收到所述页面请求后,由所述即时通讯客户端中的代理组件处理所述页面请求,并将请求内容返回至所述WEB产品的页面。在上述技术方案中,优选的,所述代理组件处理所述页面请求的过程包括:创建处理请求的实例,以及创建链接方法的实例;设置请求异常处理次数和请求处理的编码;调用所述处理请求的实例和所述链接方法的实例,执行处理请求方法和链接方法;获取所述请求内容,并将所述请求内容返回至所述WEB产品的页面。通过上述技术方案,完成了即时通讯客户端组件处理页面请求,跨域组件独立封装,可以应用于其他产品的脚本跨域,由于跨域组件(即时通讯客户端中的组件)的代码部署在服务器端,因此降低了产品维护成本和升级成本。在上述技术方案中,优选的,还可以包括:执行完所述页面请求之后,所述WEB产品通过所述即时通讯客户端中的消息组件向即时通讯服务端发送握手指令;所述消息组件向所述即时通讯服务端发送基于XMPP协议的异步消息;所述即时通讯服务端的消息中心处理所述异步消息;所述即时通信客户端接收所述即时通讯服务端推送的消息,实现消息跨域处理。通过即时通讯客户端代理组件在后台对页面进行请求,向即时通讯服务端的消息中心发送数据并接收对方数据,实现了客户端无安装的脚本跨域数据请求处理。由于在产品页面集成时,采用javascript引用,解决了用于不同开发语言开发产品的集成问题。附图说明图1示出了根据本专利技术的实施例的跨域访问页面装置的框图;图2示出了根据本专利技术的实施例的跨域访问页面装置的示意图;图3示出了根据本专利技术的实施例的跨域访问页面方法的流程图。具体实施例方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但本文档来自技高网...

【技术保护点】
一种跨域访问页面装置,其特征在于,包括:WEB产品模块,通过WEB产品脚本从WEB产品所属的第一域向即时通讯客户端所属的第二域发送页面请求;即时通讯客户端,在接收到所述页面请求后,获取所述即时通讯客户端所属的第二域的页面数据,将所述页面数据嵌套进所述WEB产品的页面中,以完成跨域取数。

【技术特征摘要】

【专利技术属性】
技术研发人员:樊进忠
申请(专利权)人:畅捷通信息技术股份有限公司
类型:发明
国别省市:

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

1