CN104714980A - 页面嵌套路径确定方法及装置 - Google Patents
页面嵌套路径确定方法及装置 Download PDFInfo
- Publication number
- CN104714980A CN104714980A CN201310694473.1A CN201310694473A CN104714980A CN 104714980 A CN104714980 A CN 104714980A CN 201310694473 A CN201310694473 A CN 201310694473A CN 104714980 A CN104714980 A CN 104714980A
- Authority
- CN
- China
- Prior art keywords
- page
- url
- parameter information
- src
- parent
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了页面嵌套路径确定方法及装置,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,所述方法包括:确定待加载的第一页面;判断是否存在包含所述预置的属性名的iframe标签;如果是,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。通过本申请,无论是域内的页面引用,还是跨域的页面引用都能够实现参数的传递。
Description
技术领域
本申请涉及页面嵌套技术领域,特别是涉及页面嵌套路径确定方法及装置。
背景技术
Iframe,是一种HTML(Hyper Text Mark-up Language,超文本标记语言)标签,其作用是文档中的文档,或者浮动的框架(FRAME),也称作嵌入式框架。嵌入式框架和框架网页类似,它可以把一个网页的框架和内容嵌入在另外一个的网页中。在实际的使用中,代码很简单,只需要在一个页面中指定是iframe引用,并将iframe标签的src属性指向另一个需要包含的文件或页面即可,如:
<iframe name="content_frame"marginwidth=0marginheight=0width=100%height=30src="http://www.xx.import.htm"frameborder=0></iframe>
其中,src=http://www.xx.import.htm就是用于指定当前页面中需要引用的另一个页面的URL(Uniform Resource Locator,统一资源定位符)。其余的参数为高度,宽度等格式信息。
随着网站和开发者的增多,iframe现已成为一种非常流行的页面引用和展现方式。通过iframe可以快速实现不同域、不同开发者之间内容的互相引用展现。其中,如果A网页面中嵌套了B页面,一般称A页面为iframe的父页面,B页面为iframe的子页面,并且如果A页面和B属于不同的域,如A页面属于www.aa.com,而B页面属于www.bb.com,这种情况称为iframe的跨域引用。
另一方面中,在页面被用户访问的过程中,一些统计应用需要对页面的嵌套路径进行还原,以便进行更深层的分析等处理。例如,假设某页面A中嵌套了页面B,用户在访问页面A的过程中,点击了页面B的链接,从而产生了一次对页面B的访问。此时,对于统计应用而言,可能不仅需要记录下该页面B被访问这一行为本身,还需要记录下此次访问是通过页面A跳转到该页面B的。也就是说,不仅要记录哪个网页被访问了,还要记录用户是通过何种跳转方式访问到该网页的。这就需要将页面的嵌套路径还原,才可以获知该信息。一般而言,对于存在嵌套关系的页面,在被访问的过程中,通过在父子页面之间传递一些参数,这样统计应用可以根据这些参数来进行嵌套路径的还原。
现有技术中,一般通过子页面获取父页面的window对象,来得到父页面希望传递到子页面的参数。具体的,子页面中可以通过window.parent接口来获取父页面window对象,从而访问父页面中的全局变量,实现父页面向子页面传递参数。但是,由于浏览器安全机制的限制,如果子页面和父页面的域不同,则子页面中将无法通过window.parent访问到父页面的window对象,父页面也无法访问iframe中的对象。也就是说,对于前述存在跨域引用的情况,现有技术就无法进行嵌套路径的确定。
因此,迫切需要本领域技术人员解决的技术问题就在于:如何在存在跨域引用的情况时,也能实现对嵌套路径的确定。
发明内容
本申请提供了页面嵌套路径确定方法及装置,无论是域内的页面引用,还是跨域的页面引用都能够实现参数的传递。
本申请提供了如下方案:
一种页面嵌套路径确定方法,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,所述方法包括:
确定待加载的第一页面;
遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
如果是,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。
一种页面嵌套路径确定装置,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,所述装置包括:
待加载页面确定单元,用于确定待加载的第一页面;
判断单元,用于遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
页面代码修改单元,用于如果所述判断单元的判断结果为是,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,在页面的源代码中,如果需要引用其他页面,则在iframe标签中需要用某预置的属性名来代替src,在页面被加载时,通过添加到该页面中的客户端JS代码将预置的属性名替换成src,同时在被引用的页面的URL中添加上用于标识其父页面的参数信息。这样,在该被引用的页面被访问时,就可以在浏览器的日志中记录下带有父页面参数信息的URL,进而就可以通过URL确定页面的嵌套路径。由于具有替换工作是由客户端JS代码来实现的,因此无论是域内的页面引用,还是跨域的页面引用都能够用这种方式来实现参数的传递。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的方法的流程图;
图2是本申请实施例提供的装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,为了解决现有技术中的问题,可以提供一种统一的基于客户端JS代码的参数传递方案,通过统一的修改iframe引用的src地址,解决父子页面、父子多层嵌套页面间跨域的参数传递问题,进而就可以基于传递的参数,解决iframe多层嵌套的路径确定问题,还可以基于确定的路径进行路径还原,并对iframe嵌套进行效果评估,等等。具体实现时,可以在页面中统一加载一段客户端JS代码,JS代码JS代码的加载可以通过在服务器端的统一配置,实现全页面加载,也即可以在服务器端配置,默认在页面的<body>标签后添加一段加载(loader)脚本,这段脚本会动态异步引入实现具体功能的JS代码。Loader脚本可以是在服务器端输出HTML源码时自动添加的。如果遇到情况特殊的页面(例如,服务器端没有做相应的配置),页面上没有自动加载loader脚本,则页面开发人员可以手工引入本申请中提供的loader脚本。当然,对于没有iframe嵌套的页面而言,这段JS代码实际上是没有用的,因此,在实际应用中,也可以仅在有iframe嵌套的页面中,由页面开发人员直接引入这段JS代码。总之,在页面中添加了这段客户端JS代码的情况下,在页面被浏览器加载时,这段JS代码就会被执行,其执行结果就是能够实现父子页面间的参数传递。需要说明的是,JS代码中还可以做判断处理,如果JS代码被重复引入,则只有第一个执行的会生效,后面引入的都将被忽略,不会因为重复引入而影响功能。另外需要说明的是,各个页面中引入的JS代码都是相同的,也即每个页面的JS代码都用于实现同样的功能。
也就是说,在本申请实施例中,具体的实现过程是通过这段客户端JS代码来实现的,虽然JS代码需要依赖浏览器才能被加载,但是被加载之后,能够自动运行,并按照代码中的指令执行具体的操作,这也相当于一个小的可执行程序,因此,本申请实施例中描述的方法中各步骤的执行主体可以看作是这段客户端JS代码被加载后对应的可执行程序。下面对具体的实现方式进行详细地介绍。
首先需要说明的是,为了实现本申请实施例提供的技术方案,除了要在各个页面中加入前述客户端JS代码之外,还可对页面的源代码编写规则进行一些统一的规定。如背景技术部分所述,在正常情况下,使用iframe标签进行页面的引用时,会在“src”属性中指定被引用的页面的URL,而在本申请实施例中,页面开发人员在编写页面的源代码时,可将iframe标签中的属性名“src”改为其他的特定名称来代替,例如可以是r_src(当然在实际应用中也可以是其他的名称,只要预先约定好即可)。也就是说,假设需要在某页面中引用另一页面,则源代码中常规的引用方式可以是:
<iframe name="content_frame"marginwidth=0marginheight=0width=100%height=30src="http://www.xx.import.htm"frameborder=0></iframe>
但是,在本申请实施例中,需要通过以下方式来写源代码:
<iframe name="content_frame"marginwidth=0marginheight=0width=100%height=30r_src="http://www.xx.import.htm"frameborder=0></iframe>
在上述前提下,就可以使用本申请实施例提供的客户端JS代码来实现参数的传递。具体的,参见图1,本申请实施例首先提供了一种页面嵌套路径确定方法,该方法可以包括:
S101:确定待加载的第一页面;
所谓待加载的第一页面一般是指被用户指定访问的页面。例如,用户可以在某源页面中点击了某指定页面的链接,则该指定页面就是待加载的第一页面。其中,该源页面可能是搜索引擎中的搜索结果页,还可能是引用了第一页面的父页面,或者,还可能是其他应用的页面,例如,办公软件、邮件、即时通信软件等应用的页面,等等。对于浏览器而言,只要收到访问某页面的请求,就可以将该页面确定为待加载的页面。
S102:遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
在确定了待加载的第一页面之后,在浏览器执行加载该第一页面的操作时,已经预先添加到该第一页面中的客户端JS代码就会被加载,并执行相应的操作。具体的,由于在编写页面源代码时,已经将iframe标签中的属性名进行了特殊的标记,因此,首先就可以遍历第一页面的源代码,判断是否存在包含预置的属性名的iframe标签。如果存在,则进入下一步。
这里需要说明的是,在下一步中,客户端JS代码需要对页面源代码进行改写,因此,在实际应用中,对源代码进行遍历、判断、改写等操作可以是在第一页面正式加载之前进行的,也即,相对于第一页面具体页面内容的加载而言,客户端JS代码可以优先加载,在客户端JS代码对页面源代码遍历完毕,需要改写的代码改写完成之后,再对第一页面的具体页面内容进行加载。当然,也可以是在第一页面的具体内容加载之后再加载JS代码,但是在JS代码修改源代码之前,会出现第一页面中引用的第二页面无法被直接调用的情况,只有等JS代码修改完源代码之后,第二页面才能被直接调用。或者,在具体实现时,也可以是在第一页面中引用的第二页面在被调用时,JS代码再对对应的源代码进行修改,使得第二页面可以被调用,等等。
另外需要说明的是,在遍历第一页面的源代码时,可以通过扫描第一页面的DOM(文档对象模型)树结构来实现。DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面可能并不是以这种树的方式具体实现。总之,如果要改变页面的某个内容,JS代码就可以获得对HTML文档中所有元素进行访问的入口。这个入口,连同对HTML元素进行添加、移动、改变或移除的方法和属性,都可以是通过文档对象模型来获得的。
S103:当所述第一页面的源代码包含所述预置的属性名的iframe标签时,将所述源代码中的所述预置的属性名替换为src,并在该src指向的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息,进而根据所述参数信息可进行页面嵌套路径的确定和还原等。
如果JS代码发现第一页面的源代码中存在包含预置的属性名(例如r_src)的iframe标签,则可以首先将该预置的属性名修改为src,使得对应引用的第二页面成为可以直接被调用的状态。同时,还需要在该src指向的第二页面的URL中添加参数信息,这种参数信息就是用于标识第二页面所在嵌套路径上的父页面的信息。这样,当用户通过点击第一页面中的链接的方式访问第二页面时,浏览器的日志中就会记录下被访问的第二页面的URL,而该第二页面的URL中已经添加了用于标识第二页面所在嵌套路径上的父页面的信息,因此,在后续需要进行路径还原时,只要从浏览器的访问日志中取出该第二页面的URL,就可以直接将嵌套路径还原,进而可以知晓用户是通过怎样的路径访问到该第二页面的。
其中,具体在向第二页面的URL中添加父页面的相关信息时,可以添加在第二页面的原URL之后,中间还可以用特殊字符(例如&等)隔开。添加到第二页面URL中的参数可以包括父页面的URL,还可以包括其他用于标识该父页面的参数,或者还可以根据实际的需求添加其他的参数。例如,假设某父页面是电子商务平台下的某商品详情所在的页面,则还可以带上该商品的ID等信息。
需要说明的是,虽然客户端JS代码在第一页面的源代码中将第二页面的URL进行了修改,也即在原来的基础上添加了一些参数,但是,这并不会影响到对该第二页面的正常访问。也就是说,在第一页面加载之后,假设用户在第一页面中点击了第二页面的链接,则浏览器中可以直接打开该第二页面,并在日志中记录下该第二页面的URL,该URL中就包含了其所在嵌套路径上的父页面的参数信息。
可见,在本申请实施例中,在页面的源代码中,如果需要引用其他页面,则在iframe标签中需要用某预置的属性名来代替src,在页面被加载时,通过添加到该页面中的客户端JS代码将预置的属性名替换成src,同时在被引用的页面的URL中添加上用于标识其父页面的参数信息。这样,在该被引用的页面被访问时,就可以在浏览器的日志中记录下带有父页面参数信息的URL,这样就可以通过URL确定页面的嵌套路径。由于具有替换工作是由客户端JS代码来实现的,因此无论是域内的页面引用,还是跨域的页面引用都能够用这种方式来实现参数的传递。
需要说明的是,在本申请实施例中,之所以不是让页面开发人员直接在源代码中将父页面的参数信息添加到被引用的页面URL之后,这是因为:在现在的规模化开发下,父子页面可能是多个团队,多个开发者同时开发的,子页面开发者,可能并不知道开发的页面,会被哪些页面iframe引用;同样的,父页面的开发者,可能在开发的时候,可能也并不确定需要向子页面专递哪些参数。因此,本申请实施例相当于是制定了一个标准的方法,各个页面的开发者各自遵循,然后统一实现参数的传递,这样可以实现规模化的开发。
另外需要说明的是,在具体实现时,如果页面中仅存在一级嵌套引用,例如,直接在第一页面中嵌套了第二页面,则在第一页面被加载时,对于包含有预置的属性名的iframe标签,在将预置的属性名修改为src之后,直接获取到第一页面的URL等参数信息,添加到src引出的第二页面的URL之后即可。相当于第二页面的页面嵌套路径上只有第一页面这样一个父页面。
但是,在实际应用中,却经常存在多级嵌套的情况,此时,对于当前待加载的第一页面而言,其可能是嵌套路径上的根节点(也即嵌套路径的起始点),也可能是一个中间节点,对于第一页面在嵌套路径上的不同位置而言,向第二页面的URL中添加的参数信息可能是不同的。例如,如果第一页面是根节点,则直接将第一页面的参数信息添加到第二页面的URL之后即可,而如果第一页面不是根节点,则除了需要将第一页面的参数信息添加到第二页面的URL之后,还需要将嵌套路径上其他节点对应的页面的参数信息,也添加到第二页面的URL之后。
为了实现客户端JS代码的统一,具体实现时,可以通过以下方式实现:具体在修改后的src指向的第二页面的URL中添加参数信息时,首先判断第一页面是否为第二页面所在嵌套路径上的根节点,如果是,则直接获取用于标识第一页面的参数信息,并在该src指向的第二页面的URL中添加用于标识第一页面的参数信息;如果判断出第一页面不是嵌套路径上的根节点,则获取用于标识第一页面的参数信息,并从该第一页面的URL中获取在页面嵌套路径上其他各级父页面的参数信息。然后将第一页面的参数信息以及其他各级父页面的参数信息添加到该src指向的第二页面的URL中。由于每一个页面中都添加了本申请实施例中的JS代码,因此,第一页面的URL中包含的其他各级父页面的参数信息,是在通过第一页面的父页面跳转到该第一页面时添加到该第一页面的URL中的。这样,对于待加载的第一页面,直接通过其URL就既可以确定出其是否为根节点,又可以从中获取到嵌套路径上其他父页面的参数信息。
为了更好地理解本申请实施例提供的技术方案,下面通过一个例子,进行更详细地介绍。
步骤1:在页面A嵌套页面B时,不再直接注明src=“http://xxxx.xxx.x.?x=aa”,而是采用统一的r_src=“http://xxxx.xxx.x.?x=aa”;
步骤2:当页面A加载时,预先加载的JS代码可以扫描页面A的整体DOM结构,当遇到r_src的iframe引用的时候,主动替换为可以直接调用的src,同时在src中添加标示页面A的参数。即将步骤1中的r_src替换为src=“http://xxxx.xxx.x.?x=aa&url_id1=xyz1”,添加的url_id1=xyz1用来标示外层父节点页面A的页面信息。这个参数的参数名、参数值都可以根据实际业务需要进行约定和配置。
如果iframe有多层嵌套,即页面B中,还有iframe的二级子页面——页面C,同样的这个页面B中,也不再直接注明src=“http://xxxx.xxx.x.?x=bb”,而是采用统一的r_src=“http://xxxx.xxx.x.?x=bb”;
步骤3:当页面B加载的时候,页面B中预先加载的JS代码(这个JS代码跟步骤1中的JS代码是同一个JS代码),也可以扫描页面B的DOM结构,当遇到r_src的iframe引用的时候,主动替换为可以直接调用的src,同时在src中添加标示页面B的参数,并且将从页面B的url中取到的上一父页面——页面A传递下来的参数,继续向后传递。即将页面B中的r_src引用,修改替换为src=“http://xxxx.xxx.x.?x=bb&url_id1=xyz1&url_id2=xyz2”,其中url_id1=xyz1为从页面B的url中取到的上一级父页面——页面A传递下来的url_id信息,url_id2=xyz2为添加的当前的父页面——页面B的页面信息。
如果仍有嵌套,src中参数的传递规则一致,继续在iframe的src后面追加当前父页面的页面信息,同时采集父页面url中的上层父页面的参数向后传递。这样,当用户实际点击最底层iframe中的链接内容或地址的时候,refer就能指向这个完整的携带了iframe嵌套的路径树的url,如:http://xxxx.xxx.x.?x=bb&url_id1=xyz1&url_id2=xyz2&url_id3=xyz3&....
这样,就能够清楚地从被引用页面的URL知道,当前的用户访问的内容,是从url_id1页面中iframe嵌套的url_id2页面中,iframe嵌套的url_id3页面,点击而来的,从而给嵌套路径的还原,效果数据的向上追溯提供直观实用的数据信息,可以方便的将iframe内容的引导的数据效果,如点击量,引导成交等,还原到最顶层、最末层等任意基于业务规则约定的一层上。
与本申请实施例提供的页面嵌套路径确定方法相对应,本申请实施例还提供了一种页面嵌套路径确定装置,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,参见图2,该装置可以包括:
待加载页面确定单元201,用于确定待加载的第一页面;
判断单元202,用于遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
页面代码修改单元203,用于如果所述判断单元的判断结果为是,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。
其中,在存在多级嵌套的情况下,为了使得JS代码统一,所述页面代码修改单元203具体可以包括:
判断子单元,用于判断所述第一页面是否为所述嵌套路径上的根节点;
第一获取子单元,用于如果所述判断子单元的判断结果为是,则获取用于标识所述第一页面的参数信息;
第一添加子单元,用于在该src引出的第二页面的URL中添加所述用于标识所述第一页面的参数信息。
另外该装置还可以包括:
第二获取子单元,用于如果判断所述第一页面不是所述嵌套路径上的根节点,则获取用于标识所述第一页面的参数信息,并从该第一页面的URL中获取在页面嵌套路径上其他各级父页面的参数信息;其中,第一页面的URL中包含的其他各级父页面的参数信息,是在通过第一页面的父页面跳转到该第一页面时添加到该第一页面的URL中的;
第二添加子单元,用于将第一页面的参数信息以及其他各级父页面的参数信息添加到该src引出的第二页面的URL中。
具体实现时,判断单元302具体可以通过扫描第一页面的文档对象模型DOM,判断第一页面的源代码中是否存在包含所述预置的属性名的iframe标签。
判断单元302具体可以在所述第一页面被加载之前,遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签,遍历完成后,加载所述第一页面。
在父页面跨域引用子页面时,在iframe标签中,可以采用预置的属性名代替src来引出子页面的统一资源定位符URL。
可见,在本申请实施例中,在页面的源代码中,如果需要引用其他页面,则在iframe标签中需要用某预置的属性名来代替src,在页面被加载时,通过添加到该页面中的客户端JS代码将预置的属性名替换成src,同时在被引用的页面的URL中添加上用于标识其父页面的参数信息。这样,在该被引用的页面被访问时,就可以在浏览器的日志中记录下带有父页面参数信息的URL,进而就可以通过URL直接确定页面的嵌套路径。由于具有替换工作是由客户端JS代码来实现的,因此无论是域内的页面引用,还是跨域的页面引用都能够用这种方式来实现参数的传递。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的页面嵌套路径确定方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种页面嵌套路径确定方法,其特征在于,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,所述方法包括:
确定待加载的第一页面;
遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
当所述第一页面的源代码包含所述预置的属性名的iframe标签时,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。
2.根据权利要求1所述的方法,其特征在于,所述在该src引出的第二页面的URL中添加参数信息,包括:
判断所述第一页面是否为所述嵌套路径上的根节点;
如果是,则获取用于标识所述第一页面的参数信息;
在该src引出的第二页面的URL中添加所述用于标识所述第一页面的参数信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果判断所述第一页面不是所述嵌套路径上的根节点,则获取用于标识所述第一页面的参数信息,并从该第一页面的URL中获取在页面嵌套路径上其他各级父页面的参数信息;其中,第一页面的URL中包含的其他各级父页面的参数信息,是在通过第一页面的父页面跳转到该第一页面时添加到该第一页面的URL中的;
将第一页面的参数信息以及其他各级父页面的参数信息添加到该src引出的第二页面的URL中。
4.根据权利要求1所述的方法,其特征在于,所述遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签,包括:
通过扫描第一页面的文档对象模型DOM,判断第一页面的源代码中是否存在包含所述预置的属性名的iframe标签。
5.根据权利要求1所述的方法,其特征在于,所述遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签,包括:
在所述第一页面被加载之前,遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
所述方法还包括:
遍历完成后,加载所述第一页面。
6.根据权利要求1至5任一项所述的方法,其特征在于,在父页面跨域引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL。
7.根据权利要求1至5任一项所述的方法,其特征在于,向第二页面的URL中添加的参数信息包括父页面的URL。
8.一种页面嵌套路径确定装置,其特征在于,在父页面引用子页面时,在iframe标签中,采用预置的属性名代替src来引出子页面的统一资源定位符URL,所述装置包括:
待加载页面确定单元,用于确定待加载的第一页面;
判断单元,用于遍历所述第一页面的源代码,判断是否存在包含所述预置的属性名的iframe标签;
页面代码修改单元,用于如果所述判断单元的判断结果为是,则将所述源代码中的所述预置的属性名替换为src,并在该src引出的第二页面的URL中添加参数信息,所述参数信息用于标识所述第二页面所在嵌套路径上的父页面的信息,以便在通过点击第一页面中的链接的方式跳转到所述第二页面时,使得浏览器的访问日志中记录的第二页面URL中包含有所述参数信息。
9.根据权利要求8所述的装置,其特征在于,所述页面代码修改单元包括:
判断子单元,用于判断所述第一页面是否为所述嵌套路径上的根节点;
第一获取子单元,用于如果所述判断子单元的判断结果为是,则获取用于标识所述第一页面的参数信息;
第一添加子单元,用于在该src引出的第二页面的URL中添加所述用于标识所述第一页面的参数信息。
10.根据权利要求9所述的装置,其特征在于,还包括:
第二获取子单元,用于如果判断所述第一页面不是所述嵌套路径上的根节点,则获取用于标识所述第一页面的参数信息,并从该第一页面的URL中获取在页面嵌套路径上其他各级父页面的参数信息;其中,第一页面的URL中包含的其他各级父页面的参数信息,是在通过第一页面的父页面跳转到该第一页面时添加到该第一页面的URL中的;
第二添加子单元,用于将第一页面的参数信息以及其他各级父页面的参数信息添加到该src引出的第二页面的URL中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694473.1A CN104714980B (zh) | 2013-12-17 | 2013-12-17 | 页面嵌套路径确定方法及装置 |
HK15106978.6A HK1206454A1 (zh) | 2013-12-17 | 2015-07-22 | 頁面嵌套路徑確定方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694473.1A CN104714980B (zh) | 2013-12-17 | 2013-12-17 | 页面嵌套路径确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104714980A true CN104714980A (zh) | 2015-06-17 |
CN104714980B CN104714980B (zh) | 2018-04-06 |
Family
ID=53414323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310694473.1A Active CN104714980B (zh) | 2013-12-17 | 2013-12-17 | 页面嵌套路径确定方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104714980B (zh) |
HK (1) | HK1206454A1 (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930378A (zh) * | 2016-04-13 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种从后台服务端处理html页面嵌套的方法及系统 |
CN106202531A (zh) * | 2016-07-22 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种Flex和Html数据相互交互的方法及装置 |
CN106454487A (zh) * | 2016-11-30 | 2017-02-22 | 广州华多网络科技有限公司 | 一种合并双频道方法、装置及系统 |
CN106919636A (zh) * | 2016-07-04 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 链接跳转方法及装置 |
CN106919414A (zh) * | 2015-12-28 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 链接请求的处理方法和装置 |
CN106933858A (zh) * | 2015-12-31 | 2017-07-07 | 北京五八信息技术有限公司 | 页面来源统计方法及视图控制器 |
CN107038194A (zh) * | 2016-11-17 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种页面跳转方法和装置 |
CN107315646A (zh) * | 2016-04-27 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 页面组件间的数据流向控制方法和装置 |
CN107316203A (zh) * | 2017-05-26 | 2017-11-03 | 晶赞广告(上海)有限公司 | 展示信息的探测方法及装置、计算机可读存储介质、终端 |
CN107480148A (zh) * | 2016-06-07 | 2017-12-15 | 广州市动景计算机科技有限公司 | 控制网页跳转的方法及装置及用户终端 |
CN107562548A (zh) * | 2017-08-04 | 2018-01-09 | 北京趣拿软件科技有限公司 | 传输数据的方法和装置 |
CN107786882A (zh) * | 2017-09-30 | 2018-03-09 | 青岛海信宽带多媒体技术有限公司 | 一种网页显示方法、装置及机顶盒 |
CN107818171A (zh) * | 2017-11-14 | 2018-03-20 | 北京思特奇信息技术股份有限公司 | 一种基于iframe的页面加载方法及系统 |
CN107818020A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 参数传递方法和装置 |
CN107957872A (zh) * | 2017-10-11 | 2018-04-24 | 中国互联网络信息中心 | 一种完整网站源码获取方法及非法网站检测方法、系统 |
CN109388443A (zh) * | 2017-08-09 | 2019-02-26 | 中兴通讯股份有限公司 | 一种多框架模板的模板独立方法、装置及存储介质 |
CN109522507A (zh) * | 2018-11-12 | 2019-03-26 | 厦门卓思创想教育科技有限公司 | 一种网页组件统一管理的方法 |
CN109582548A (zh) * | 2017-09-28 | 2019-04-05 | 北京国双科技有限公司 | 一种基于无埋点的页面元素圈选方法及装置 |
CN110109664A (zh) * | 2018-10-18 | 2019-08-09 | 神思旭辉医疗信息技术有限责任公司 | 一种页面集成系统及方法 |
CN111400627A (zh) * | 2020-03-09 | 2020-07-10 | 政采云有限公司 | 一种信息获取方法、装置和电子设备及可读存储介质 |
CN112003788A (zh) * | 2020-07-23 | 2020-11-27 | 北京达佳互联信息技术有限公司 | 数据请求发送方法、装置、设备及介质 |
CN112380037A (zh) * | 2020-11-24 | 2021-02-19 | 南京领行科技股份有限公司 | 页面间的通信方法、装置及存储介质 |
CN112379953A (zh) * | 2020-11-06 | 2021-02-19 | 深圳市越疆科技有限公司 | 终端、页面切换框架以及页面的切换方法 |
CN112783548A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 网络系统的访问方法及装置 |
CN113220396A (zh) * | 2021-05-11 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 一种嵌入页面管理方法和装置、电子设备、存储介质 |
CN113468450A (zh) * | 2021-07-06 | 2021-10-01 | 北京有竹居网络技术有限公司 | 一种页面控制方法及装置 |
WO2022267809A1 (zh) * | 2021-06-21 | 2022-12-29 | 北京有竹居网络技术有限公司 | 页面嵌入方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042694A (zh) * | 2006-03-21 | 2007-09-26 | 松下电器产业株式会社 | 在浏览网页时访问父页面的方法 |
CN102314469A (zh) * | 2010-11-23 | 2012-01-11 | 苏州阔地网络科技有限公司 | 一种实现跨域请求回调的方法 |
US20130074131A1 (en) * | 2011-09-15 | 2013-03-21 | Milestone Project, Inc. | System and method for integrating and controlling web-based html players in a native context |
-
2013
- 2013-12-17 CN CN201310694473.1A patent/CN104714980B/zh active Active
-
2015
- 2015-07-22 HK HK15106978.6A patent/HK1206454A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042694A (zh) * | 2006-03-21 | 2007-09-26 | 松下电器产业株式会社 | 在浏览网页时访问父页面的方法 |
CN102314469A (zh) * | 2010-11-23 | 2012-01-11 | 苏州阔地网络科技有限公司 | 一种实现跨域请求回调的方法 |
US20130074131A1 (en) * | 2011-09-15 | 2013-03-21 | Milestone Project, Inc. | System and method for integrating and controlling web-based html players in a native context |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188612B2 (en) | 2015-12-28 | 2021-11-30 | Advanced New Technologies Co., Ltd. | Link request processing method and apparatus |
CN106919414B (zh) * | 2015-12-28 | 2021-10-08 | 创新先进技术有限公司 | 链接请求的处理方法和装置 |
CN106919414A (zh) * | 2015-12-28 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 链接请求的处理方法和装置 |
CN106933858B (zh) * | 2015-12-31 | 2020-03-24 | 北京五八信息技术有限公司 | 页面来源统计方法及视图控制器 |
CN106933858A (zh) * | 2015-12-31 | 2017-07-07 | 北京五八信息技术有限公司 | 页面来源统计方法及视图控制器 |
CN105930378A (zh) * | 2016-04-13 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种从后台服务端处理html页面嵌套的方法及系统 |
CN105930378B (zh) * | 2016-04-13 | 2019-05-24 | 北京思特奇信息技术股份有限公司 | 一种从后台服务端处理html页面嵌套的方法及系统 |
CN107315646A (zh) * | 2016-04-27 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 页面组件间的数据流向控制方法和装置 |
CN107480148A (zh) * | 2016-06-07 | 2017-12-15 | 广州市动景计算机科技有限公司 | 控制网页跳转的方法及装置及用户终端 |
CN106919636A (zh) * | 2016-07-04 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 链接跳转方法及装置 |
CN106202531A (zh) * | 2016-07-22 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种Flex和Html数据相互交互的方法及装置 |
CN107818020A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 参数传递方法和装置 |
CN107818020B (zh) * | 2016-09-12 | 2021-04-27 | 平安科技(深圳)有限公司 | 参数传递方法和装置 |
CN107038194B (zh) * | 2016-11-17 | 2020-12-15 | 创新先进技术有限公司 | 一种页面跳转方法和装置 |
CN107038194A (zh) * | 2016-11-17 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种页面跳转方法和装置 |
CN106454487A (zh) * | 2016-11-30 | 2017-02-22 | 广州华多网络科技有限公司 | 一种合并双频道方法、装置及系统 |
CN107316203A (zh) * | 2017-05-26 | 2017-11-03 | 晶赞广告(上海)有限公司 | 展示信息的探测方法及装置、计算机可读存储介质、终端 |
CN107562548A (zh) * | 2017-08-04 | 2018-01-09 | 北京趣拿软件科技有限公司 | 传输数据的方法和装置 |
CN109388443A (zh) * | 2017-08-09 | 2019-02-26 | 中兴通讯股份有限公司 | 一种多框架模板的模板独立方法、装置及存储介质 |
CN109582548A (zh) * | 2017-09-28 | 2019-04-05 | 北京国双科技有限公司 | 一种基于无埋点的页面元素圈选方法及装置 |
CN109582548B (zh) * | 2017-09-28 | 2022-04-12 | 北京国双科技有限公司 | 一种基于无埋点的页面元素圈选方法及装置 |
CN107786882A (zh) * | 2017-09-30 | 2018-03-09 | 青岛海信宽带多媒体技术有限公司 | 一种网页显示方法、装置及机顶盒 |
CN107957872A (zh) * | 2017-10-11 | 2018-04-24 | 中国互联网络信息中心 | 一种完整网站源码获取方法及非法网站检测方法、系统 |
CN107818171A (zh) * | 2017-11-14 | 2018-03-20 | 北京思特奇信息技术股份有限公司 | 一种基于iframe的页面加载方法及系统 |
CN110109664A (zh) * | 2018-10-18 | 2019-08-09 | 神思旭辉医疗信息技术有限责任公司 | 一种页面集成系统及方法 |
CN109522507A (zh) * | 2018-11-12 | 2019-03-26 | 厦门卓思创想教育科技有限公司 | 一种网页组件统一管理的方法 |
CN109522507B (zh) * | 2018-11-12 | 2021-08-13 | 厦门卓网信息科技股份有限公司 | 一种网页组件统一管理的方法 |
CN112783548A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 网络系统的访问方法及装置 |
CN112783548B (zh) * | 2019-11-11 | 2024-02-20 | 阿里巴巴集团控股有限公司 | 网络系统的访问方法及装置 |
CN111400627A (zh) * | 2020-03-09 | 2020-07-10 | 政采云有限公司 | 一种信息获取方法、装置和电子设备及可读存储介质 |
CN111400627B (zh) * | 2020-03-09 | 2023-07-07 | 政采云有限公司 | 一种信息获取方法、装置和电子设备及可读存储介质 |
CN112003788A (zh) * | 2020-07-23 | 2020-11-27 | 北京达佳互联信息技术有限公司 | 数据请求发送方法、装置、设备及介质 |
CN112379953A (zh) * | 2020-11-06 | 2021-02-19 | 深圳市越疆科技有限公司 | 终端、页面切换框架以及页面的切换方法 |
CN112380037A (zh) * | 2020-11-24 | 2021-02-19 | 南京领行科技股份有限公司 | 页面间的通信方法、装置及存储介质 |
CN113220396A (zh) * | 2021-05-11 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 一种嵌入页面管理方法和装置、电子设备、存储介质 |
CN113220396B (zh) * | 2021-05-11 | 2024-04-16 | 北京达佳互联信息技术有限公司 | 一种嵌入页面管理方法和装置、电子设备、存储介质 |
WO2022267809A1 (zh) * | 2021-06-21 | 2022-12-29 | 北京有竹居网络技术有限公司 | 页面嵌入方法、装置、存储介质及电子设备 |
CN113468450A (zh) * | 2021-07-06 | 2021-10-01 | 北京有竹居网络技术有限公司 | 一种页面控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104714980B (zh) | 2018-04-06 |
HK1206454A1 (zh) | 2016-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104714980A (zh) | 页面嵌套路径确定方法及装置 | |
CN108491205B (zh) | 一种基于组件树的前端网页开发方法及系统 | |
US8533141B2 (en) | Systems and methods for rule based inclusion of pixel retargeting in campaign management | |
JP6629848B2 (ja) | モバイルアプリ用ページ処理 | |
CN109918607B (zh) | 页面搭建方法及装置、介质和计算设备 | |
US20180341714A1 (en) | System and method for data-driven web page navigation control | |
CN110806863A (zh) | 接口文档生成方法及装置、电子设备、存储介质 | |
US8972873B2 (en) | Multi-environment widget assembly, generation, and operation | |
US7970944B2 (en) | System and method for platform and language-independent development and delivery of page-based content | |
US9135319B2 (en) | System and method for executing transformation rules | |
US8276086B2 (en) | Method and system for visual landing page optimization configuration and implementation | |
US9311303B2 (en) | Interpreted language translation system and method | |
US8402013B2 (en) | Rich site maps | |
US20040187090A1 (en) | Method and system for creating interactive software | |
US20090089654A1 (en) | Method and system for personalizing communication items | |
CN104025068A (zh) | 来自多个来源的css定义的冲突解决 | |
US11562037B2 (en) | Crawlability of single page applications | |
US20020066074A1 (en) | Method and system for developing and executing software applications at an abstract design level | |
US20120072850A1 (en) | Web page behavior enhancement controls | |
KR101287371B1 (ko) | 웹 컨텐츠 수집방법 및 수집장치, 그 기록매체 | |
US10282398B1 (en) | Editing tool for domain-specific objects with reference variables corresponding to preceding pages | |
US20130019152A1 (en) | Method and Apparatus for Tracking Exit Destinations of Web Page | |
Penberthy | Beginning ASP. NET for Visual Studio 2015 | |
US11843679B2 (en) | Automated dependency management based on page components | |
Luyten et al. | Runtime transformations for modal independent user interface migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1206454 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |