页面嵌套路径确定方法及装置的制造方法

文档序号:8395900阅读:481来源:国知局
页面嵌套路径确定方法及装置的制造方法
【技术领域】
[0001]本申请涉及页面嵌套技术领域,特别是涉及页面嵌套路径确定方法及装置。
【背景技术】
[0002]Iframe,是一种 HTML (Hyper Text Mark-up Language,超文本标记语言)标签,其作用是文档中的文档,或者浮动的框架(FRAME),也称作嵌入式框架。嵌入式框架和框架网页类似,它可以把一个网页的框架和内容嵌入在另外一个的网页中。在实际的使用中,代码很简单,只需要在一个页面中指定是iframe引用,并将iframe标签的src属性指向另一个需要包含的文件或页面即可,如:
[0003]〈iframe name=〃content_frame〃marginwidth=0marginheight=0width=100%height=30src=〃http://www.xx.1mport.htm〃frameborder=OX/iframe>
[0004]其中,src=http://www.xx.1mport, htm就是用于指定当前页面中需要引用的另一个页面的URL(Uniform Resource Locator,统一资源定位符)。其余的参数为高度,宽度等格式信息。
[0005]随着网站和开发者的增多,iframe现已成为一种非常流行的页面引用和展现方式。通过iframe可以快速实现不同域、不同开发者之间内容的互相引用展现。其中,如果A网页面中嵌套了 B页面,一般称A页面为iframe的父页面,B页面为iframe的子页面,并且如果A页面和B属于不同的域,如A页面属于WWW.aa.com,而B页面属于www.bb.com,这种情况称为iframe的跨域引用。
[0006]另一方面中,在页面被用户访问的过程中,一些统计应用需要对页面的嵌套路径进行还原,以便进行更深层的分析等处理。例如,假设某页面A中嵌套了页面B,用户在访问页面A的过程中,点击了页面B的链接,从而产生了一次对页面B的访问。此时,对于统计应用而言,可能不仅需要记录下该页面B被访问这一行为本身,还需要记录下此次访问是通过页面A跳转到该页面B的。也就是说,不仅要记录哪个网页被访问了,还要记录用户是通过何种跳转方式访问到该网页的。这就需要将页面的嵌套路径还原,才可以获知该信息。一般而言,对于存在嵌套关系的页面,在被访问的过程中,通过在父子页面之间传递一些参数,这样统计应用可以根据这些参数来进行嵌套路径的还原。
[0007]现有技术中,一般通过子页面获取父页面的window对象,来得到父页面希望传递到子页面的参数。具体的,子页面中可以通过window, parent接口来获取父页面window对象,从而访问父页面中的全局变量,实现父页面向子页面传递参数。但是,由于浏览器安全机制的限制,如果子页面和父页面的域不同,贝1J子页面中将无法通过window, parent访问到父页面的window对象,父页面也无法访问iframe中的对象。也就是说,对于前述存在跨域引用的情况,现有技术就无法进行嵌套路径的确定。
[0008]因此,迫切需要本领域技术人员解决的技术问题就在于:如何在存在跨域引用的情况时,也能实现对嵌套路径的确定。

【发明内容】

[0009]本申请提供了页面嵌套路径确定方法及装置,无论是域内的页面引用,还是跨域的页面引用都能够实现参数的传递。
[0010]本申请提供了如下方案:
[0011]—种页面嵌套路径确定方法,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,所述方法包括:
[0012]确定待加载的第一页面;
[0013]遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
[0014]如果是,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。
[0015]一种页面嵌套路径确定装置,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,所述装置包括:
[0016]待加载页面确定单兀,用于确定待加载的第一页面;
[0017]判断单元,用于遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
[0018]页面代码修改单元,用于如果所述判断单元的判断结果为是,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。
[0019]根据本申请提供的具体实施例,本申请公开了以下技术效果:
[0020]通过本申请实施例,在页面的源代码中,如果需要引用其他页面,则在iframe标签中需要用某预置的属性名来代替src,在页面被加载时,通过添加到该页面中的客户端JS代码将预置的属性名替换成src,同时在被引用的页面的URL中添加上用于标识其父页面的参数信息。这样,在该被引用的页面被访问时,就可以在浏览器的日志中记录下带有父页面参数信息的URL,进而就可以通过URL确定页面的嵌套路径。由于具有替换工作是由客户端JS代码来实现的,因此无论是域内的页面引用,还是跨域的页面引用都能够用这种方式来实现参数的传递。
[0021]当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
【附图说明】
[0022]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本申请实施例提供的方法的流程图;
[0024]图2是本申请实施例提供的装置的示意图。
【具体实施方式】
[0025]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
[0026]在本申请实施例中,为了解决现有技术中的问题,可以提供一种统一的基于客户端JS代码的参数传递方案,通过统一的修改iframe引用的src地址,解决父子页面、父子多层嵌套页面间跨域的参数传递问题,进而就可以基于传递的参数,解决iframe多层嵌套的路径确定问题,还可以基于确定的路径进行路径还原,并对iframe嵌套进行效果评估,等等。具体实现时,可以在页面中统一加载一段客户端JS代码,JS代码JS代码的加载可以通过在服务器端的统一配置,实现全页面加载,也即可以在服务器端配置,默认在页面的〈body〉标签后添加一段加载(loader)脚本,这段脚本会动态异步引入实现具体功能的JS代码。Loader脚本可以是在服务器端输出HTML源码时自动添加的。如果遇到情况特殊的页面(例如,服务器端没有做相应的配置),页面上没有自动加载loader脚本,则页面开发人员可以手工引入本申请中提供的loader脚本。当然,对于没有iframe嵌套的页面而言,这段JS代码实际上是没有用的,因此,在实际应用中,也可以仅在有iframe嵌套的页面中,由页面开发人员直接引入这段JS代码。总之,在页面中添加了这段客户端JS代码的情况下,在页面被浏览器加载时,这段JS代
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1