网页显示方法和装置
技术领域
本发明涉及计算机互联网领域,具体而言,涉及一种网页显示方法和装置。
背景技术
现有技术的浏览器中没有阅读模式的情况下,用户阅读完当前页面内容,需要切换到下一页时,通常需要点击特定的按钮,例如“下一节”,“下一章”等,不但增加了操作,而且大多数情况下这类由于尺寸过小导致点击中出现的误操作也大大增加。而阅读模式下只需用户正常的滚屏阅读,当浏览器判断出用户已经阅读到页面末尾,马上需要翻页阅读下一页内容时,自动将下一页的内容拼接到当前页面的底部,极大方便了用户的阅读,提高了操作体验。
目前存在一种阅读模式实现方式是通过技术手段识别出下一个页面的URL。在适当的时机,浏览器会主动加载下一个页面的URL,获取到内容后将新的内容拼接到当前页面的底部。因此,该阅读模式的实现方式关键点在于以下3点:如何找到下一个页面的URL;获取新页面内容;新页面拼接到当前页面底部。
上述阅读模式的实现流程如图1所示,可以包括如下步骤:
首先,在浏览器中加载当前网页。
然后,查询当前网页的也没内容是否存在关键字,例如“下一页”、“下一章”、“下一段”等。其中,如果存在则执行下一步骤,否则结束流程。
接着,根据该关键字判断该关键字节点是否存在可用链接地址URL,如果存在,则执行下一步骤,否则结束流程。
接着,根据该关键字节点的可用链接地址来获取新页面内容,即获取关键字对应的新页面。
最后,在将页面完成加载之后,实现了将新页面拼接到当前页面的底部。
上述方案中,获取新页面内容以及将新页面拼接到当前页面底部的步骤都是在浏览器中实现的,比较固定的处理代码,该处理不会受到页面的影响而出现问题或无法正常工作的现象。但是针对如何找到下一个页面的URL,很明显受到页面写法的制约,页面的写法常常会影响到阅读模式的正常实现。
具体的,现有的一种网页中包含了正文内容以及下一页按钮,但是与普通页面不同的是,下一页按钮中并没有包含实际页面的URL,加载下一页的工作方式是点击该按钮后,JS响应按钮事件后生成下一页的URL并自动加载该URL。这种写法的页面不存在一个明文的“下一页”URL,因此无法适应于现在的阅读模式方案。目前,很多的提供阅读服务的网站使用该方案来加载下一页的页面主题数据,该类网站提供小说阅读服务为主的网站。
针对上述现有技术中的不包含明文URL的网页无法正常进入阅读模式的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网页显示方法和装置,以至少解决现有技术中的不包含明文URL的网页无法正常进入阅读模式的技术问题。
根据本发明实施例的一个方面,提供了一种网页显示方法,该方法包括:确定存在与当前显示的第一网页相关联的第二网页;创建第二网页的内联框架;向第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码,其中,模拟点击脚本用于模拟第一网页接收到的点击事件,点击事件用于获取第二网页的源代码;将新的网页源代码加入到第二网页的内联框架中;解析新的网页源代码,执行模拟点击脚本,获取第二网页源代码;在第二网页的内联框架中根据第二网页源代码显示第二网页。
根据本发明实施例的另一方面,还提供了一种网页显示装置,该装置包括:确定模块,用于确定存在与当前显示的第一网页相关联的第二网页;创建模块,用于创建第二网页的内联框架;注入模块,用于向第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码,其中,模拟点击脚本用于模拟第一网页接收到的点击事件,点击事件用于获取第二网页的源代码;加入模块,用于将新的网页源代码加入到第二网页的内联框架中;解析模块,用于解析新的网页源代码,执行模拟点击脚本,获取第二网页源代码;显示模块,用于在第二网页的内联框架中根据第二网页源代码显示第二网页。
在本发明实施例中,采用确定存在与当前显示的第一网页相关联的第二网页;创建第二网页的内联框架;向第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码,其中,模拟点击脚本用于模拟第一网页接收到的点击事件,点击事件用于获取第二网页的源代码;将新的网页源代码加入到第二网页的内联框架中;解析新的网页源代码,执行模拟点击脚本,获取第二网页源代码;在第二网页的内联框架中根据第二网页源代码显示第二网页的方式,通过向第一网页的网页源代码中注入模拟点击脚本,来更新第一网页的网页源代码,由于模拟点击脚本用于模拟第一网页接收到的点击事件,点击事件用于获取第二网页的网页源代码,因此可以获知,本申请通过基于应用程序模拟用户点击页面上阅读下一页页面的控件的技术,获取第二网页的网页源代码,在第一网页重新加载之后,运行了模拟点击脚本就可以实现将第二网页的文本内容加载到第二网页的内联框架中,解决现有方案中不存在具体URL的页面无法进入阅读模式的问题,进而解决了现有技术中的不包含明文URL的网页无法正常进入阅读模式的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种阅读模式的实现流程的示意图;
图2是根据本发明实施例的阅读模式总体页面与多个iframe页面的关系结构显示示意图;
图3是本发明实施例的一种运行网页显示方法的移动终端的硬件结构框图;
图4是根据本发明实施例一的网页显示方法的流程图;
图5是根据本发明实施例一的一种优选的网页显示方法的流程图;
图6是根据本法实施例二的网页显示装置的结构示意图;
图7是根据本法实施例二的一种可选地网页显示装置的结构示意图;
图8是根据本法实施例二的一种可选地网页显示装置的结构示意图;
图9是根据本法实施例二的一种可选地网页显示装置的结构示意图;
图10是根据本法实施例二的一种可选地网页显示装置的结构示意图;
图11是根据本法实施例二的一种可选地网页显示装置的结构示意图;以及
图12是根据本法实施例二的一种可选地网页显示装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中涉及到的名词解释如下:
当前页面:表示用户正在阅读的页面。
下一页页面:表示用户正在阅读页面的次页。如用户正在阅读的当前页面的页号为n,则下一页页面的页号为n+1。
iframe页面:用于展示每一个用于阅读的拼接页面内容的框架页面。
阅读模式总体页面:如图2所示,阅读模式总体页面为包含了多个iframe页面的显示页面。阅读模式总体页面,iframe页面,页面内容的关系如图2所示。
iframe:内联框架。
实施例1
根据本发明实施例,还提供了一种网页显示方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图3是本发明实施例的一种运行网页显示方法的移动终端的硬件结构框图。如图3所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的网页显示方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的网页显示方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图4所示的网页显示方法。图4是根据本发明实施例一的网页显示方法的流程图。
如图4所示,该网页显示方法可以如下实施步骤:
步骤S20,确定存在与当前显示的第一网页相关联的第二网页。
上述步骤S20中的第一网页可以是用户正在阅读的当前页面,该第一网页的页码可以是第n页。结合图5可知,在阅读模式下,阅读模式模块获取到第n页网页后,进入正常的解析流程。在执行上述确定存在与当前显示的第一网页相关联的第二网页之后,系统需要从网页中获取显示在网页上的第一网页。
步骤S22,创建第二网页的内联框架。
本申请上述步骤S22中的第二网页可以是用户将要阅读到的下一页页面,该第二网页的页码可以是第n+1页。
优选地,上述第一网页与第二网页的关联位置可以包括如下任意一种类型:第二网页与第一网页相邻,且位于第一网页的下方;第二网页与第一网页相邻,且位于第一网页的左侧;第二网页与第一网页相邻,且位于第一网页的右侧。
一种可选的实施例中,结合图5可知,本申请上述步骤S22实现了在阅读模式下,创建新的空白iframe拼接到当前页面的下方,即可以创建第N+1页的网页的空白内联框架iframe(N+1),并可以将该iframe(N+1)内联框架拼接到第N页的网页iframe(N)的下方。
步骤S24,向第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码,其中,模拟点击脚本用于模拟第一网页接收到的点击事件,点击事件用于获取第二网页的源代码。
本申请上述步骤S24可以实现,在获取到第N页网页的网页源代码之后,可以向第N页的网页源代码中注入JS的模拟点击脚本的代码。此时,修改了网页源代码后的页面可以为N’。
步骤S26,将新的网页源代码加入到第二网页的内联框架中。
步骤S28,解析新的网页源代码,执行模拟点击脚本,获取第二网页源代码。
步骤S30,在第二网页的内联框架中根据第二网页源代码显示第二网页。
本申请上述步骤S30将第二网页源代码显示在第二网页的过程中,需要先解析第二网页源代码,从而调用得到第二网页的显示内容,最后将需要显示的显示内容渲染在第二网页中供用户观看。
结合图5可知,本申请上述步骤S26和步骤S30可以实现,在成功获取第N+1页网页的网页源代码之后,可以将第N+1页面的网页源代码会渲染在上述第二网页的内联框架iframe(N+1)中。
此处需要说明的是,本申请上述方案完成当前页面的下一页面的加载之后,会将此时的下一页页面作为当前页面(即当用户阅读到第N+1页时,系统可以将当前页面的页面标号重新设置为N=N+1),从而开始循环执行步骤S20至步骤S26实现不断加载新的网页的内容。
本申请上述方案,在获取显示在网页上的第一网页之后,可以创建与第一网页相关关联的第二网页的内联框架,此时,通过向第一网页的网页源代码中注入模拟点击脚本,来更新第一网页的网页源代码,由于模拟点击脚本用于模拟第一网页接收到的点击事件,点击事件用于获取第二网页的网页源代码,因此可以获知,本申请通过基于应用程序(例如JS程序)模拟用户点击页面上阅读下一页页面的控件的技术,获取第二网页的网页源代码,在第一网页重新加载之后,运行了模拟点击脚本就可以实现将第二网页的文本内容加载到第二网页的内联框架中。
由此可知,本申请提供的上述解决方案,可以使得当前页面即便不存在可以获取到下一页页面的明文URL,也可以正常进入阅读模式。解决现有方案中不存在具体URL的页面无法进入阅读模式的问题。进而解决了现有技术中的不包含明文URL的网页无法正常进入阅读模式的技术问题。进而使得不需要网站维护人员来修改页面也能进入阅读模式。使得阅读模式适用范围更广,用户体验更佳。
此处需要说明的是,在非阅读模式下的预读技术也可以使用本文的解决方案处理非明文URL的“下一页”页面的预读加载。
本申请提供的一种可选实施例中,在执行步骤S26将新的网页源代码加入到第二网页的内联框架中的步骤包括如下实施方法:设置第二网页的内联框架的srcdoc属性值,以获取新的网页源代码(或者设置第二网页的内联框架的srcdoc属性为获取新的网页源代码),既可以设置第二网页的srcdoc属性,使得将第一网页的新网页源代码设置为显示在第二网页的内联框架中。
结合图5可知,本申请提供的方案中的网页可以是满足HTML5属性的网页,由于上述步骤使用了HTML5中iframe的srcdoc特性,因此可以在注入模拟点击脚本的文本内容中设置内联框架iframe的srcdoc,即将注入了JS的模拟点击脚本代码的第n页网页的网页源代码中的srcdoc属性设置为第二网页的内联框架iframe(N+1)的srcdoc。由于srcdoc属性是将指定的HTML页面的网页源代码显示在内联框架中,因此,基于上述方法,可以实现在注入模拟点击脚本的第N页网页重新加载之后,可以执行模拟点击脚本,从而实现第N+1页网页的网页内容的加载。
此处需要说明的是,由于支持HTML5的浏览器会包含该srcdoc属性,从而使得任何网页均可使用该技术。
优选地,本申请可以在执行步骤S20之前,创建当前显示的第一网页的内联框架,根据第一网页源代码在第一网页的内联框架中显示第一网页。
优选地,本申请上述实施例中,步骤S28实现的解析所述新的网页源代码,执行所述模拟点击脚本,获取第二网页源代码的方案可以通过如下步骤实现:
步骤S261,运行新的网页源代码,当模拟点击脚本运行时,响应第一网页中模拟的点击事件。
结合图5可知,在第一网页的网页源代码中加入模拟点击脚本之后,得到的新的网页源代码需要重新加载。加载了注入有模拟点击脚本的第一网页之后,注入的模拟点击脚本的代码会自动执行,从而模拟人工点击阅读下一页页面的功能。从而通过执行注入的模拟点击脚本的代码来模拟点击事件,使得自动加载新的网页源代码。
步骤S263,获取第二网页对应的第二网页源代码。
由此可知,本申请上述步骤S261至步骤S263实现了重新加载注入了模拟点击脚本的网页源代码,使得系统运行过程中虽然没有接收到外部输入的点击指令,但通过模拟点击脚本仍旧可以触发点击事件,从而获取下一页页面的网页源代码。
在本申请的一种可选实施例中,步骤S20实现的确定存在与当前显示的第一网页相关联的第二网页的步骤可以通过如下方案实现:
步骤S201,解析第一网页,获取第一网页的网页源代码。
步骤S203,从第一网页的网页源代码中查询得到关键字,关键字表示用于阅读第二网页的控件的名称。
本申请上述步骤S203可以实现在完成当前页面的全部页面解析后,可以按照事先约定关键字列表中的规则扫描页面中的关键字。该关键字标记着页面是否存在着下一个页面,以及如何进入下一个页面。关键字列表可以是事先制定的,表内包括例如:“下一章”,“下一页”,“下一节”等文字。
优选地,在执行步骤S203实现第一网页的网页源代码中查询得到关键字之前,还可以执行如下步骤:步骤S202,读取预存的关键字列表,其中,关键字列表包含至少一个关键字,并获取关键字列表中的关键字的调用优先级,按照关键字的调用优先级来对第一网页的网页源代码进行关键字匹配。
由此可知,如果在第一网页的网页源代码中包含多个关键字时,例如,同时包含“下一页”和“下一章”两个关键字,此时,可以获取“下一页”和“下一章”的调用优先级,如果“下一页”的优先级设置为高于“下一章”的优先级,那么系统会先匹配当前页面中的“下一页”这个按钮,并针对该关键字注入模拟点击脚本,使得系统首先模拟点击“下一页”这个按钮的点击事件,如果在当前页面中没有匹配到的“下一页”这个按钮,则可以匹配优先级较低的“下一章”这个按钮,进而执行针对该关键字“下一章”注入模拟点击脚本,使得系统可以模拟点击“下一章”这个按钮的点击事件。
优选地,在执行创建所述第二网页的内联框架之后,还可以执行如下步骤:在确定关键字对应的控件节点不包含第二网页的链接地址的情况下,向第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码。
本申请上述步骤可以通过如下步骤实现:判断关键字对应的控件节点是否包含第二网页的链接地址,其中,如果包含第二网页的链接地址,则根据第二网页的链接地址获取第二网页的网页源代码,如果不包含第二网页的链接地址,则执行创建与第一网页相关关联的第二网页的内联框架的步骤,以向第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码。
结合图5可知,本申请提供的上述方案实现了,在扫描到关键字(例如“下一页”的关键字)之后,开始判断该关键字所在节点是否存在对应的链接地址URL,如果对应的链接地址URL为空,则进入创建下一页的页面的内联框架,并注入模拟点击脚本,从而加载新的页面的步骤。如果存在URL,则进入以前阅读模式的工作流程。
由此可知,比较现有的方案,在当前页面的下一页页面数据是通过JS加载而不是通过显示的URL获取的情况下,可以通过本申请通过的注入模拟点击脚本的技术,使得用户仍旧可以使用阅读模式。
下面就以当前访问页面不具备下一页页面的阅读地址为例,对本申请进行详细说明:
一种支持阅读模式下的当前网页中,访问页面的网页内容如下:
http://book.uc.cn/menu?cm=M3080048&from=ucbs_index&fbi=&uc_param_str=d nfrvecppfnteisipr&bid=5345372&bi=sywjsw&comp_id=T_529
其中,该当前页面中对应的“下一页”的网页代码如下:
<axmlns=″http://www.w3.org/1999/xhtml″href=″/r/5345372/5345374.htm;jse ssionid=34458D20157BA34639D5ABC3170BF153?f=52724&;t1=16163&;pg=4709& amp;cm=M3080048&;page=2&;fraSeq=7&;nid=41072489&;purl=%2Fr%2Fl%2Fr.jsp%3Ft1%3D16163%26cm%3DM3080048%26page%3D1%26nid%3D41072489%26uc_par am_str%3Ddnvecppfnteisipr%26fr%3D75%26from%3Dmenu%26bid%3D5345372%26cid%3D5345374&;vt=2&;dataSrcId=13069835&;sqId=xyy2″class=″next fr″>下一页</a>
此时,当前页面的“下一页”控件对应着具体的链接地址URL,可以通过现有阅读模式的方案进行阅读拼接。
而针对本申请提供的方案中的一种示例中,此时当前访问页面的页面内容如下:http://tbook.yicha.cn/tb/read.y?at=read_info&nid=e9632aee9f2dfb39e31c076bc81fbade&key=
其中,该当前页面中对应的“下一章”控件的的网页代码如下:
<div id=″next″><span>下一章</span></div>
此时,当前页面的“下一章”控件并没有任何对应的链接地址URL,新页面的加载需要通过在JS代码中,响应点击事件来实现。即在本页面中没有任何对应的链接地址URL的情况下,需要JS代码处理div#next的click事件。当接收到用户点击“下一章”控件来触发click事件发生时,对应的JS方法被触发。该方法可以通过AJAX获取下一页数据。
即在本例中click事件被响应后,获取下一页的代码。
对于这种页面,本申请提供了一种在不需要用户点击“下一章”控件来触发click事件的功能,当系统扫描发现当前页面的页面文本内容中包含“下一章”关键字时,检测该“下一章”关键字节点对应的链接地址,如果链接地址URL为空,则
获取页面的网页源代码(文本的详细内容可以通过访问“http://tbook.yicha.cn/tb/read.y?at=read_info&nid=e9632aee9f2dfb39e31c076bc81fbade&key=”获得),在网页源代码的底部或者在所述控件代码之后注入模拟点击脚本,即可以如下JS代码:
<script type=″text/javascript″>
$(div#next).click();
</script>
这段注入的JS模拟点击脚本的代码更新了当前页面的页面文本内容,在当前页面重新加载之后的运行过程中,模拟点击脚本会在本页面完成加载后自动执行,在执行到模拟点击脚本之后,就会运行模拟点击脚本使得系统自动获取下一页的页面的文本内容,最后通过将下一页页面的文本内容加载到事先创建的内联框架中。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述方法实施例的装置实施例,本申请上述实施例所提供的装置可以在移动终端上运行。
图6是根据本法实施例二的网页显示装置的结构示意图。如图6所示,该网页网页显示装置可以包括:确定模块61、创建模块63、注入模块65、加入模块67、解析模块69、显示模块71。
其中,确定模块61,用于确定存在与当前显示的第一网页相关联的第二网页;创建模块63,用于创建所述第二网页的内联框架;注入模块65,用于向所述第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码,其中,所述模拟点击脚本用于模拟所述第一网页接收到的点击事件,所述点击事件用于获取所述第二网页的源代码;加入模块67,用于将所述新的网页源代码加入到第二网页的内联框架中;解析模块69,用于解析所述新的网页源代码,执行所述模拟点击脚本,获取第二网页源代码;显示模块71,用于在第二网页的内联框架中根据第二网页源代码显示所述第二网页。
本申请上述方案,在获取显示在网页上的第一网页之后,可以创建与第一网页相关关联的第二网页的内联框架,此时,通过向第一网页的网页源代码中注入模拟点击脚本,来更新第一网页的网页源代码,由于模拟点击脚本用于模拟第一网页接收到的点击事件,点击事件用于获取第二网页的网页源代码,因此可以获知,本申请通过基于应用程序(例如JS程序)模拟用户点击页面上阅读下一页页面的控件的技术,获取第二网页的网页源代码,在第一网页重新加载之后,运行了模拟点击脚本就可以实现将第二网页的文本内容加载到第二网页的内联框架中。
由此可知,本申请提供的上述解决方案,可以使得当前页面即便不存在可以获取到下一页页面的明文URL,也可以正常进入阅读模式。解决现有方案中不存在具体URL的页面无法进入阅读模式的问题。进而解决了现有技术中的不包含明文URL的网页无法正常进入阅读模式的技术问题。进而使得不需要网站维护人员来修改页面也能进入阅读模式。使得阅读模式适用范围更广,用户体验更佳。
此处需要说明的是,上述确定模块61、创建模块63、注入模块65、加入模块67、解析模块69、显示模块71对应于实施例一中的步骤S20至步骤S30,六个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的移动终端10中。
优选地,如图7所示,上述加入模块67可以包括:设置模块671,用于设置第二网页的内联框架的srcdoc属性值,以获取新的网页源代码。
优选地,如图8所示,上述装置还可以包括:子创建模块50,用于创建当前显示的第一网页的内联框架,根据第一网页源代码在第一网页的内联框架中显示第一网页。
优选地,如图9所示,上述解析模块69可以包括:运行模块691,用于运行新的网页源代码,当模拟点击脚本运行时,响应第一网页中模拟的点击事件;子获取模块693,用于获取第二网页对应的第二网页源代码。
优选地,如图10所示,上述确定模块61可以包括:解析模块611,用于解析第一网页,获取第一网页的网页源代码;查询模块613,用于从第一网页的网页源代码中查询到与第二网页相关的关键字,关键字表示用于阅读第二网页的控件的名称。
优选地,如图11所示,在执行创建模块63之后,上述装置还可以执行如下功能模块:执行模块631,用于在确定关键字对应的控件节点不包含第二网页的链接地址的情况下,向第一网页的网页源代码中加入模拟点击脚本生成新的网页源代码。
优选地,如图12所示,在查询模块613之前,装置还可以执行如下功能模块:读取模块6121,用于读取预存的关键字列表,关键字列表包含至少一个关键字;匹配模块6123,用于获取关键字列表中的关键字的调用优先级,按照关键字的调用优先级来对第一网页的网页源代码进行关键字匹配。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的儿个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。