混合模式跨域数据交互的系统及其方法

文档序号:9326973阅读:439来源:国知局
混合模式跨域数据交互的系统及其方法
【技术领域】
[0001]本发明涉及一种混合模式跨域数据交互的系统及其方法。
【背景技术】
[0002]移动互联网高速发展,由苹果开发的1S系统和谷歌开发的Android系统占据了移动终端的大部分操作系统。两种移动操作系统都提供SDK(软件开发工具包,SoftwareDevelopment Kit),软件公司都可以基于系统的SDK进行应用开发。
[0003]应用开发出现三种模式:第一种,全部基于SDK的本地化(Native)开发;第二种,基于HTML技术的开发的手机Web网页;第三种,结合本地化开发和HTML Web开发的混合(Hybrid)模式,混合模式通过使用成熟的HTML Web开发技术,可以提高应用开发效率,通过使用浏览器容器,进行界面展现和交互。
[0004]移动应用混合模式实现过程是:将网页内容打包下载到移动设备(包括手机、平板电脑、手持设备等),在移动设备上通过移动浏览器容器运行和渲染展示网页内容,并进行人机交互。这种方式一般的实现方法带来的问题是,因为浏览器同源策略限制,数据无法直接提交到服务器。所谓同源策略是由Netscape提出的一个著名的安全策略,同源策略是客户端脚本(指的是JavaScript)的重要的安全度量标准。最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。现在所有支持JavaScript的浏览器都会使用这个策略。所谓同源是指域名、协议、端口相同。

【发明内容】

[0005]本发明的目的是克服现有技术存在的不足,提供一种混合模式跨域数据交互的系统及其方法,旨在解决“同源策略”限制,实现跨域的客户端和服务端数据交互。
[0006]本发明的目的通过以下技术方案来实现:
[0007]混合模式跨域数据交互的系统,特点是:包含Web服务器、网页自动适配模块、本地缓存管理器、浏览器容器和跨域数据交互代理模块,所述Web服务器,为浏览器或客户端提供网络服务,采用HTTP方式提供HTML网页输出,并响应网页交互请求;
[0008]所述网页自动适配模块,包含有自动判断网页运行状态的代码模块,以JavaScript程序的方式在HTML网页内运行,含有JavaScript程序的HTML网页文件从Web服务器通过网络传送至客户端;
[0009]所述本地缓存管理器,创建和管理本地缓存,对应用程序的缓存内容管理,下载Web服务器上的网页资源文件压缩包,解压缩,建立本地资源结构,形成本地缓存环境,定期更新本地缓存内容;
[0010]所述浏览器容器,嵌入于应用程序的浏览器,作为网页运行的容器;浏览器容器截获浏览器内的指定交互动作,并在本地代码中做出操作响应;
[0011]所述跨域数据交互代理模块,运行于浏览器容器底层的应用程序代码,将截获的浏览器容器内运行的HTML网页的数据交互,通过跨域数据交互代理模块向Web服务器提交,然后获取Web服务器的数据响应,通过跨域数据交互代理模块避免浏览器同源策略的限制,使下载到本地的网页代码可进行数据交互。
[0012]进一步地,上述的混合模式跨域数据交互的系统,其中,所述Web服务器为微软IIS服务器或者Apache HTTP Server网页服务器。
[0013]更进一步地,上述的混合模式跨域数据交互的系统,其中,所述网页自动适配模块为网页含有自动判断网页运行状态的代码模块。
[0014]更进一步地,上述的混合模式跨域数据交互的系统,其中,所述浏览器容器是在应用程序内置的浏览器控件;浏览器控件是操作系统的功能组件,功能组件具有HTML网页浏览的功能。
[0015]更进一步地,上述的混合模式跨域数据交互的系统,其中,所述浏览器是在移动设备或计算机上显示网页服务器或文件系统的HTML文件并提供用户与文件交互的软件。
[0016]更进一步地,上述的混合模式跨域数据交互的系统,其中,所述网页自动适配模块检测网页运行状态,判断是否为在线工作状态或本地缓存工作状态。
[0017]本发明混合模式跨域数据交互的方法,包括以下步骤:
[0018]首先,Web服务器将网页资源进行整理,压缩打包,本地缓存管理器将打包文件下载,解压缩,形成本地资源结构;
[0019]然后,网页内代码使用document, url参数,网页自动适配模块判断当前工作状态,当前工作状态有两种,一种是协议为http://的在线工作状态,另一种为file://的本地缓存工作状态,如果为在线工作状态,则采用Ajax方式与Web服务器进行交互,如果为本地缓存工作状态,则采用跨域数据交互代理模块进行数据通讯;
[0020]继而,使用移动操作系统的浏览器容器接口,获取网页自动适配模块提交的数据,根据数据的交互类型即Get类或Post类,跨域数据交互代理模块模拟浏览器向Web服务器发起数据读写请求,并将Web服务器返回的数据通过回调返回给调用网页。
[0021]再进一步地,上述的混合模式跨域数据交互的方法,其中,所述本地缓存管理器进行目录清理,根据Web服务端的指令清空本地资源,重新下载更新。所述跨域数据交互代理模块实现跨域数据交互,排除同源策略的限制。
[0022]本发明技术方案突出的实质性特点和显著的进步主要体现在:
[0023]①本发明解决了同源策略限制,实现跨域的客户端和服务端数据交互;网页自动适配模块自动判断网页是在线工作状态还是本地缓存工作状态,与通用浏览器的判断方式不同点在于,本地缓存是自主控制,不是系统浏览器默认控制;
[0024]②跨域数据交互代理模块解决了移动应用混合开发下载的网页和服务端数据交互的“同源策略限制”,结合网页自动适配模块实现自动判断运行环境,自动选择数据交互方式;
[0025]③本地缓存管理器通过将网站网页打包下载的方式,在移动设备端建立网页运行环境,在操作系统提供的浏览器容器内实现界面展现和交互;
[0026]④解决了移动应用开发,混合模式状态下,移动端App和服务器端交互的跨域问题;普通网页添加采用“自适应网页结构”,即可实现网页下载后在浏览器容器内与服务端数据交互。
【附图说明】
[0027]下面结合附图对本发明技术方案作进一步说明:
[0028]图1:本发明的系统架构示意图;
[0029]图2:本发明的流程示意图。
【具体实施方式】
[0030]如图1所示,混合模式跨域数据交互的系统,包含Web服务器1、网页自动适配模块2、本地缓存管理器3、浏览器容器4和跨域数据交互代理模块5 ;
[0031]Web服务器1,为浏览器或客户端提供网络服务,采用HTTP方式提供HTML网页输出,并响应网页交互请求;其中,Web服务器I为微软IIS服务器或者Apache HTTP Server网页服务器;浏览器是在手机或电脑上显示网页服务器或文件系统的HTML文件并提供用户与文件交互的软件,比如:IE、Safar1、Chrome等;客户端是在手机或电脑上运行、完成一种或一组功能的应用软件。
[0032]网页自动适配模块2,包含有自动判断网页运行状态的代码模块,以JavaScript程序的方式在HTML网页内运行,含有JavaScript程序的HTML网页文件从Web服务器I通过网络传送至客户端;其中,网页自动适配模块2为网页含有自动判断网页运行状态的代码模块;网页自动适配模块2检测网页运行状态,判断是否为在线工作状态或本地缓存工作状态。
[0033]本地缓存管理器3,创建和管理本地缓存,对应用程序的缓存内容管理,下载Web服务器I上的网页资源文件压缩包,解压缩,建立目录结构,形成本地缓存环境,定期更新本地缓存内容;本地缓存管理器3进行目录清理,根据Web服务端I的指令清空本地资源,重新下载更新
[0034]浏览器容器4,嵌入于应用程序的浏览器,作为网页运行的容器;浏览器容器4截获浏览器内的指定交互动作,并在本地代码中做出操作响应;其中,浏览器容器4是在应用程序内置的浏览器控件,浏览器控件是操作系统的功能组件,功能组件具有HTML网页浏览的功能。
[0035]跨域数据交互代理模块5,运行于浏览器容器底层的应用程序代码,将截获的浏览器容器4内运行的HTML网页的数据交互,通过跨域数据交互代理模块5向Web服务器I提交,然后获取Web服务器I的数据响应,通过跨域数据交互代理模块5避免浏览器同源策略的限制,使下载到本地的网页代码可进行数据交互。跨域数据交互代理模块5实现跨域数据交互,排除同源策略的限制
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1