跨域页面显示控制方法及装置的制作方法

文档序号:6423666阅读:108来源:国知局
专利名称:跨域页面显示控制方法及装置的制作方法
技术领域
本发明涉及网络技术领域,尤指一种跨域页面显示控制方法及装置。
背景技术
在页面(Web)应用中,页面中各种元素的交互控制是极其常见的,例如一个按钮控制一个输入框的内容等。但是出于安全性的考虑,隶属于不同域的两个页面不能实现交互的访问控制。例如如图1所示,页面A属于域(domain) 1,在页面A中有一个框(iframe)l,框 (iframe) 1中加载页面B,页面B属于域(domain) 2。在这种情况下,由于浏览器跨域操作控制的限制,页面B无法访问控制归属于域(domain) 1的框(iframe) 1的高度/宽度(参考附图1箭头1所示),如果页面B的实际高度/宽度与框(iframe) 1的高度/宽度不相匹配,则会导致页面B在框(iframe) 1中的显示错误,尤其是当页面B的实际高度/宽度超出框(iframe) 1的高度/宽度时,在框(iframe) 1中无法完全显示页面B。可见,由于页面的跨域访问控制的限制,会出现页面在其他域中的页面内显示时, 由于页面的高度/宽度和其他域中的加载该页面的加载框的高度/宽度不匹配,而不能按照正常的高度和宽度显示,更有甚者,可能会出现不能正常显示的问题。

发明内容
本发明实施例提供一种跨域页面显示控制方法及装置,用以解决现有跨域页面显示时存在的不能按正常的大小显示或不能正常显示的问题。一种跨域页面显示控制方法,包括第一域中的第一页面脚本初始化,在第一页面中加载用于加载第二域中的第二页面的加载框,并将第一页面所在的域通告给第二域中的第二页面脚本;第二页面脚本初始化,在第二页面中加载用于加载第一域中的中介页面的中介框,根据第一页面所在的域构造中介页面的统一资源定位符URL ;将构造的URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给第一域中的中介页面脚本;中介页面脚本初始化,将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。一种跨域页面显示控制系统,包括第一域服务器和第二域服务器;所述第一域服务器中存储第一页面脚本模块和第三页面脚本模块,所述第二域服务器中存储第二页面脚本模块;所述第一页面脚本模块,用于在第一页面中加载用于加载第二域中的第二页面的加载框,并将第一页面所在的域通告给第二域中的第二页面脚本模块;所述第二页面脚本模块,用于在第二页面中加载用于加载第一域中的中介页面的中介框,根据第一页面所在的域构造中介页面的统一资源定位符URL ;将构造的URL设置为中介框的地址属性,并将第二页面的尺寸 参数通告给第一域中的中介页面脚本;所述中介页面脚本模块,用于将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。一种域服务器,包括所述第一页面脚本模块,用于在第一页面中加载用于加载其他域中的第二页面的加载框,并将第一页面所在的域通告给所述其他域中的第二页面脚本模块;所述中介页面脚本模块,用于接收第二页面脚本模块发送的第二页面的尺寸参数,其中,第二页面脚本模块在第二页面中加载用于加载第一域中的中介页面的中介框,并根据第一页面所在的域构造介页面的统一资源定位符URL设置为中介框的地址属性;以及将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。一种域服务器,包括第二页面脚本模块,用于在其他域中的第一页面中加载用于加载本域域中的第二页面的加载框后,在第二页面中加载用于加载其他域中的中介页面的中介框,根据其他域的第一页面脚本模块通告的第一页面脚本模块所在的域构造中介页面的统一资源定位符 URL ;将构造的URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给所述其他域中的中介页面脚本。本发明有益效果如下本发明实施例提供的跨域页面显示控制方法及装置,通过设置一个与第二页面同属于一个域的中介框和一个与第一页面同属于一个域的中介页面,通过第二页面与中介页面之间的参数传递,实现由中介页面控制同属于一个域的加载框的大小,使得加载框能根据被加载的第二页面的大小进行调整,改变尺寸,该方法实现间接的控制隶属与不同域的页面的加载和加载框的大小调整,从而解决了隶属于不同域的两个页面不能互相访问的问题,达到了跨域控制加载框的大小,以便实现最佳的显示效果,完整的显示被加载的页面, 避免了跨域显示页面时存在的,无法显示,和显示效果不佳的问题。


此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为现有技术中跨域显示页面的原理示意图;图2为本发明实施例中跨域页面显示控制方法的流程图;图3为本发明实施例中跨域页面显示的原理示意图;图4为本发明实施例中跨域页面显示控制系统的结构示意图;图5为本发明实施例中第一域服务器的结构示意图;图6为本发明实施例中第二域服务器的结构示意图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供的跨域页面显示控制方法,用于网页应用中,跨域场景下的框高度和宽度的控制。其流程如图2所示,其原理如图3所示,该方法包括如下步骤步骤Sll 第一域中的第一页面脚本初始化,在第一页面中加载用于加载第二域中的第二页面的加载框,将第一页面所在的域通告给第二域中的第二页面脚本。例如如图3中所示的,域(domain) 1中的页面A(即第一页面)的脚本初始化, 在页面A中加载用于加载页面B(即第二页面)的加载框(iframe)l,该加载框属于域 (domain) 1,页面B属于域(domain) 2,通过执行页面A的脚本实现将页面A所在的域通告给页面B的脚本,具体通过参数传递的方式通告给页面B的脚本。步骤S12 第二页面脚本初始化,获取第一页面脚本传递的第一页面所在的域的
相关信息。沿用上边的例子,页面B的脚本初始化,获取页面A的脚本传递的页面A所在的域的相关信息,具体通过参数传递的方式获取。步骤S13 根据第一页面所在的域构造中介页面的统一资源定位符(Uniform/ Universal Resource Locator, URL) 0沿用上边的例子,根据页面A所在的域,构造中介页面(页面C)的URL。步骤S14:将构造的URL设置为中介框的地址属性,在第二页面中加载用于加载第一域中的中介页面的中介框,并将第二页面的尺寸参数通告给第一域中的中介页面脚本。优选的,将第二页面的尺寸参数通告给第一域中的中介页面脚本,具体可以是第二页面脚本获取第二页面的高度和宽度,将第二页面的实际高度和实际宽度通告给第一域中的中介页面脚本。将构造的URL设置为中介框的地址属性,即设置为SRC属性,其中,在HTML中的 SRC表示之后要引用的资源的地址,如<img src = “ l.jpg" />。沿用上边的例子,页面B的脚本加载框(iframe) 2,将框2的SRC属性设置为页面 C的URL,并获取页面B的高度和宽度传递给页面C的脚本。即框2中可以加载页面C,只是框2是隐藏,在页面A中不显示,如图中的箭头1所示。步骤S15 中介页面脚本初始化,获取第二页面脚本传递的第二页面所在的域的尺寸参数。沿用上边的例子,页面C获取页面B的高度和宽度。步骤S16 中介页面脚本将第二页面的尺寸参数与加载框的尺寸参数进行比较。优选的,中介页面脚本实现将第二页面的实际高度和实际宽度,分别与加载框的高度和宽度进行比较。沿用上边的例子,页面C的脚本实现将页面B的高度、宽度分别于框1的高度和宽度比较。步骤S17 第二页面的尺寸参数是否大于加载框的对应尺寸参数。优选的,判断第二页面的高度是否大于加载框的高度以及第二页面的宽度是否大于加载框的宽度。沿用上边的例子,判断页面B的高度、宽度是否大于框1的高度、宽度。
6
若是,执行步骤S18,否则,执行步骤S21。步骤S18 当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。若第二页面的实际高度大于加载框的高度时,调整加载框的高度与第二页面的实际高度相同;和/或若第二页面的实际宽度大于加载框的宽度时,调整加载框的宽度与第二页面的实际宽度相同。沿用上边的例子,若页面B的实际高度大于框1的高度和/或页面B的实际宽度大于框1的宽度,说明框1中不能显示页面B,需要调整框1高度和/或宽度以便能够正常显示页面B。由于页面C的脚本与页面A脚本同属于一个域,因此可以控制框1的大小改变,将其高度和/或宽度设置为页面B的实际高度和/或宽度。通过扩大框1的显示范围, 实现完整的显示页面B的内容,如图中的箭头2所示。步骤S19 第二页面的尺寸参数是否小于加载框的对应尺寸参数。优选的,判断第二页面的高度是否小于加载框的高度以及第二页面的宽度是否小于加载框的宽度。沿用上边的例子,判断页面B的高度、宽度是否小于框1的高度、宽度。若是,执行步骤S20,否则,执行步骤S21。步骤S20 当第二页面的尺寸参数小于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。若第二页面的实际高度小于加载框的高度时,调整加载框的高度与第二页面的实际高度相同;和/或若第二页面的实际宽度小于加载框的宽度时,调整加载框的宽度与第二页面的实际宽度相同。沿用上边的例子,若页面B的实际高度小于框1的高度和/或页面B的实际宽度小于框1的宽度,说明框1中不能显示页面B,需要调整框1高度和/或宽度以便能够正常显示页面B。由于页面C的脚本与页面A脚本同属于一个域,因此可以控制框1的大小改变,将其高度和/或宽度设置为页面B的实际高度和/或宽度。通过减小框1的显示范围, 实现恰到好处的完整显示页面B的内容。上述步骤S19和步骤S20为可选步骤,在第二页面的实际高度小于加载框的高度时和/或第二页面的实际宽度小于加载框的宽度时,也可以不调整,只是不能占满加载框的空间。若调整后,则可以更节约页面1的可用空间,达到较好的显示效果。步骤S21 不调整加载框的尺寸。在步骤S17判断出第二页面的尺寸参数不大于加载框的对应尺寸参数时,不进行调整,即小于和等于的情况都不调整;或在步骤S17判断出第二页面的尺寸参数不大于加载框的对应尺寸参数且步骤S19判断出第二页面的尺寸参数不小于加载框的对应尺寸参数相同时,才不进行调整,即对于小于和等于的情况都进行调整,以获取更加的显示效果。沿用上边的例子,将页面B加载到框1中,由浏览器实现。基于本发明实施例提供的上述跨域页面显示控制方法,本发明实施例还提供一种跨域页面显示控制装置,其结构如图4所示,包括第一域服务器10和第二域服务器20 ;其中第一域服务器10中存储第一页面脚本模块11和第三页面脚本模块12,第二域服务器20 中存储第二页面脚本模块21。
第一页面脚本模块11,用于在第一页面中加载用于加载第二域中的第二页面的加载框,并将第一页面所在的域通告给第二域中的第二页面脚本模块。第二页面脚本模块21,用于在第二页面中加载用于加载第一域中的中介页面的中介框,根据第一页面所在的域构造中介页面的统一资源定位符URL ;将构造的URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给第一域中的中介页面脚本。中介页面脚本模块12,用于将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。中介页面脚本模块,还用于当第二页面的尺寸参数小于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。本发明实施例提供一种域服务器,实现上述第一域服务器的功能,其结构如图5 所示,包括第一页面脚本模块11,用于在第一页面中加载用于加载其他域中的第二页面的加载框,并将第一页面所在的域通告给所述其他域中的第二页面脚本模块。中介页面脚本模块12,用于接收第二页面脚本模块发送的第二页面的尺寸参数, 其中,第二页面脚本模块在第二页面中加载用于加载第一域中的中介页面的中介框,并根据第一页面所在的域构造介页面的统一资源定位符URL设置为中介框的地址属性;以及将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。优选的,上述中介页面脚本模块12,还用于当第二页面的尺寸参数小于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。优选的,上述中介页面脚本模块,具体用于接收第二页面脚本模块通告的第二页面的实际高度和实际宽度,将第二页面的实际高度和实际宽度,分别与加载框的高度和宽度进行比较;若第二页面的实际高度大于或小于加载框的高度时,调整加载框的高度与第二页面的实际高度相同;和/或若第二页面的实际宽度大于或小于加载框的宽度时,调整加载框的宽度与第二页面的实际宽度相同。本发明实施例提供一种域服务器,实现上述第二域服务器的功能,其结构如图6 所示,包括第二页面脚本模块21,用于在其他域中的第一页面中加载用于加载本域域中的第二页面的加载框后,在第二页面中加载用于加载其他域中的中介页面的中介框,根据其他域的第一页面脚本模块通告的第一页面脚本模块所在的域构造中介页面的统一资源定位符URL ;将构造的URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给所述其他域中的中介页面脚本。优选的,上述第二页面脚本模块21,具体用于将第二页面的实际高度和实际宽度通告给所述其他域中的中介页面脚本模块。本发明实施例提供的跨域页面显示控制方法及装置,通过设置一个中介框和一个中介界面,实现间接的控制隶属与不同域的页面的加载和加载框的大小调整,从而解决了隶属于不同域的两个页面不能互相访问的问题,达到了跨域控制加载框的大小,以便实现最佳的显示效果,完整的显示被加载的页面,避免了跨域显示页面时存在的,无法显示,和显示效果不佳的问题。其中,中介页面和中介框是隐藏的,不会在页面上显示,从而使得在第一域的第一页面加载第二域的第二页面时,通过在第二页面设置中介框和在第一域设置中介页面加载到第二域的中介框,实现通过中介页面对同属于一个域的加载框的大小控制。通过上述交叉控制的方式,避免了第二页面不能控制第一页面中的加载框的大小的问题。上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、 修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
权利要求
1.一种跨域页面显示控制方法,其特征在于,包括第一域中的第一页面脚本初始化,在第一页面中加载用于加载第二域中的第二页面的加载框,并将第一页面所在的域通告给第二域中的第二页面脚本;第二页面脚本初始化,在第二页面中加载用于加载第一域中的中介页面的中介框,根据第一页面所在的域构造中介页面的统一资源定位符URL ;将构造的URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给第一域中的中介页面脚本;中介页面脚本初始化,将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。
2.如权利要求1所述的方法,其特征在于,还包括当第二页面的尺寸参数小于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。
3.如权利要求2所述的方法,其特征在于,所述将第二页面的尺寸参数通告给第一域中的中介页面脚本,具体包括将第二页面的实际高度和实际宽度通告给第一域中的中介页面脚本。
4.如权利要求3所述的方法,其特征在于,所述将第二页面的尺寸参数与加载框的尺寸参数进行比较,具体包括将第二页面的实际高度和实际宽度,分别与加载框的高度和宽度进行比较;所述当第二页面的尺寸参数大于或小于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同,具体包括若第二页面的实际高度大于或小于加载框的高度时,调整加载框的高度与第二页面的实际高度相同;和/或若第二页面的实际宽度大于或小于加载框的宽度时,调整加载框的宽度与第二页面的实际宽度相同。
5.一种跨域页面显示控制系统,其特征在于,包括第一域服务器和第二域服务器;所述第一域服务器中存储第一页面脚本模块和第三页面脚本模块,所述第二域服务器中存储第二页面脚本模块;所述第一页面脚本模块,用于在第一页面中加载用于加载第二域中的第二页面的加载框,并将第一页面所在的域通告给第二域中的第二页面脚本模块;所述第二页面脚本模块,用于在第二页面中加载用于加载第一域中的中介页面的中介框,根据第一页面所在的域构造中介页面的统一资源定位符URL ;将构造的URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给第一域中的中介页面脚本;所述中介页面脚本模块,用于将第二页面的尺寸参数与加载框的尺寸参数进行比较, 当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。
6.如权利要求1所述的系统,其特征在于,所述中介页面脚本模块,还用于当第二页面的尺寸参数小于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。
7.一种域服务器,其特征在于,包括所述第一页面脚本模块,用于在第一页面中加载用于加载其他域中的第二页面的加载框,并将第一页面所在的域通告给所述其他域中的第二页面脚本模块;所述中介页面脚本模块,用于接收第二页面脚本模块发送的第二页面的尺寸参数,其中,第二页面脚本模块在第二页面中加载用于加载第一域中的中介页面的中介框,并根据第一页面所在的域构造介页面的统一资源定位符URL设置为中介框的地址属性;以及将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。
8.如权利要求7所述的域服务器,其特征在于,所述中介页面脚本模块,还用于当第二页面的尺寸参数小于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。
9.如权利要求8所述的域服务器,其特征在于,所述中介页面脚本模块,具体用于接收第二页面脚本模块通告的第二页面的实际高度和实际宽度,将第二页面的实际高度和实际宽度,分别与加载框的高度和宽度进行比较;若第二页面的实际高度大于或小于加载框的高度时,调整加载框的高度与第二页面的实际高度相同;和/或若第二页面的实际宽度大于或小于加载框的宽度时,调整加载框的宽度与第二页面的实际宽度相同。
10.一种域服务器,其特征在于,包括第二页面脚本模块,用于在其他域中的第一页面中加载用于加载本域域中的第二页面的加载框后,在第二页面中加载用于加载其他域中的中介页面的中介框,根据其他域的第一页面脚本模块通告的第一页面脚本模块所在的域构造中介页面的统一资源定位符URL ; 将构造的URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给所述其他域中的中介页面脚本。
11.如权利要求10所述的域服务器,其特征在于,所述第二页面脚本模块,具体用于将第二页面的实际高度和实际宽度通告给所述其他域中的中介页面脚本模块。
全文摘要
本发明公开了一种跨域页面显示控制方法及装置,该方法包括在第一页面中加载用于加载第二域中的第二页面的加载框,并将第一页面所在的域通告给第二页面脚本;在第二页面中加载用于加载第一域中的中介页面的中介框,根据第一页面所在的域构造中介页面的URL;将URL设置为中介框的地址属性,并将第二页面的尺寸参数通告给第一域中的中介页面脚本;中介页面脚本初始化,将第二页面的尺寸参数与加载框的尺寸参数进行比较,当第二页面的尺寸参数大于加载框的对应尺寸参数时,调整加载框的尺寸与第二页面的尺寸相同。通过中间页面控制跨域页面的加载框的大小调整,避免了加载框和被加载非本域页面的大小不一致时的显示错误问题。
文档编号G06F17/30GK102184220SQ20111011649
公开日2011年9月14日 申请日期2011年5月6日 优先权日2011年5月6日
发明者李锋 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1