一种浏览器和浏览器实现方法_2

文档序号:9646450阅读:来源:国知局
设置与浏览器内核的指定操作接口对应的接管条件,以及设置与浏览器内核的该指定操作接口对应的接管执行逻辑。
[0027]例如,通过分析现有技术中存在的问题,对调用浏览器内核的操作接口无法正确执行的操作,对应设置接管条件和接管执行逻辑。
[0028]步骤S220,当与浏览器内核的指定操作接口对应的接管条件未被满足的情况下接收到让浏览器执行指定操作的指令时,调用浏览器内核的指定操作接口执行该指定操作。这就是说,如果未满足上述接管条件,则说明调用浏览器内核的指定操作接口可以正确地执行该指定操作,因此不需要调用接管执行逻辑。
[0029]步骤S230,当与浏览器内核的指定操作接口对应的接管条件被满足的情况下接收到让浏览器执行指定操作的指令时,通过执行相应的接管执行逻辑来执行该指定操作。
[0030]设想如下场景:用户在网上进行支付时,商家并不会直接接受钱款,而是需要利用支付宝、网上银行等第三方来完成实际支付,此时需要跳转到这类第三方网站,用户在点选支付方式进行确定后,通常可以看到页面跳转到一个显示诸如如下字样“正在为您跳转到支付页面,请稍后……”的静态页面,之后才会跳转到实际的支付页面。网页开发人员设计该页面是由于考虑到用户使用的网络可能存在延迟,在点选支付方式的页面点击确定后,由于需要访问第三方网站,可能无法立即跳转到第三方网站提供的支付页面,因此提供了该静态页面提示用户点选支付方式的操作已经成功,避免用户重复操作。但这样也依然存在【背景技术】部分提出的问题,即用户在第三方网站希望返回修改支付方式时,点击浏览器的后退按钮,此时浏览器内核会调用后退接口来执行该操作,将页面跳转到前述的静态页面,而该页面又跳转至第三方网站提供的支付页面,陷入死循环。那么采用图1所示的方法,只需要将这种情况设置为接管条件并设置对应的接管执行逻辑,在用户点击后退按钮后就可以不调用浏览器内核的后退接口,而是调用相应的执行逻辑执行该后退操作。
[0031]可见,图2所示的方法,通过在利用浏览器内核实现的浏览器中添加设置与浏览器内核的指定操作接口对应的接管条件和接管执行逻辑,当未满足接管条件时接收到指定的操作指令,调用浏览器内核的指定操作接口执行该操作;当满足接管条件时接收到指定的操作指令时,调用相应的接管执行逻辑来执行该操作。该技术方案可以有效地解决现有浏览器内核的操作接口在某些特定情况下无法正确执行指定操作,如在访问页面的过程中出现起到跳转功能的静态页面时,点击前进/后退按钮时,调用浏览器的前进/后退接口无法正确地返回到用户希望返回的页面,陷入死循环的问题。
[0032]在本发明的一个实施例中,图2所示的方法进一步包括:记录并保存与浏览器内核的指定操作接口相关的浏览器操作数据;当与浏览器内核的指定操作接口对应的接管条件被满足的情况下接收到让浏览器执行指定操作的指令时,根据保存的与浏览器内核的指定操作相关的浏览器操作数据,执行相应的接管执行逻辑。
[0033]浏览器内核在调用指定接口执行指定操作时,需要根据浏览器内核记录的浏览器操作数据来完成,而由于在与浏览器内核的指定操作接口对应的接管条件被满足的情况下,不再需要调用浏览器内核的指定接口,会出现无法获取到浏览器操作数据的情况。因此,可以实时记录并保存浏览器内核的指定操作接口相关的浏览器操作数据。
[0034]在本发明的一个实施例中,上述方法中,每当接收到让浏览器执行指定操作的指令时,无论调用浏览器内核的指定操作接口执行该指定操作,还是通过执行相应的接管执行逻辑来执行该指定操作,都进行记录并保存操作数据。
[0035]需要注意的是,即使是执行相应的接管执行逻辑来执行的指定操作,也可能需要用到在调用浏览器内核的指定操作接口执行指定操作的操作数据,因此,如果不将所有的操作数据完整记录,很可能出现无法正确执行接管执行逻辑的情况。
[0036]在本发明的一个实施例中,上述方法中,浏览器内核的指定操作接口包括:浏览器内核的前进/后退操作接口 ;与浏览器内核的指定操作接口相关的浏览器操作数据包括:浏览器访问的网页的地址数据。
[0037]现有技术中,浏览器内核会记录浏览器访问的地址数据,按照访问时间形成一个有先后次序的访问地址数据列表,在调用前进/后退操作接口时,就可以根据该列表跳转到当前页面的前一个/后一个页面的地址。正是因为这样,由于图1所示的静态页面也包含特定的地址数据,因此浏览器内核也会将其记录为一个URL (Uniform Resource Locator,统一资源定位符)地址保存在地址数据列表中。为解决该问题,由于在满足前进/后退接口的接管条件时不调用浏览器的对应接口,因此就需要记录浏览器访问的网页的地址数据。
[0038]在本发明的一个实施例中,上述方法中,与浏览器内核的指定操作接口对应的接管条件为浏览器访问了指定静态网页并跳转到了该指定静态网页对应的目标网页;让浏览器执行指定操作的指令为让浏览器执行后退操作的指令;对应的接管执行逻辑为:跳过指定静态网页,后退到在访问指定静态网页之前访问的网页。
[0039]再考虑一个现实场景:虽然移动设备对网站的访问量与日倶增,但许多网站的页面设计还是为PC端专门设计的,因此采用手机等屏幕远小于PC的移动设备很难方便地对这种针对PC端设计的网页进行正常的浏览,例如会出现字体过小、图片看不清等缺点。为解决这些问题,在手机浏览器开发了缩放功能的同时,许多网站也为移动设备设计了易于浏览的移动端网页,在用户利用移动设备对网站发起访问时,可以有效识别移动设备,自动跳转到适配的移动端网页,例如,用户通过搜索引擎搜索到某网站,点击搜索结果进行访问,该网站识别到用户使用了移动设备,因此跳转到类似图1所示的跳转页面,最终向用户呈现适配的移动端网页的页面。用户在对该网页页面浏览结束后,点击浏览器的返回按钮,返回的却是类似图1所示的跳转页面,而该页面又将页面跳转回到移动端页面,陷入死循环。而在本实施例中,由于满足了接管条件,即浏览器访问了指定静态网页并跳转到了该指定静态网页对应的目标网页,那么在接收到使让浏览器执行后退操作的指令时,就可以根据设置的接管执行逻辑跳过该指定静态网页,后退到搜索引擎页。
[0040]在本发明的又一个实施例中,上述方法中,与浏览器内核的指定操作接口对应的接管条件为浏览器访问了指定静态网页后,后退到了在访问指定静态网页之前访问的网页;让浏览器执行指定操作的指令为让浏览器执行前进操作的指令;对应的接管执行逻辑为:跳过指定静态网页,直接前进到该指定静态网页对应的目标网页。
[0041]依然考虑前一个实施例中的场景:用户跳转回搜索引擎页后,如果还想访问该访问过的网站,此时点击前进按钮,如果调用浏览器内核的前进接口,会跳转到静态网页,经过再一次计算该网页中的数据才能跳转到访问过的网站,而这完全是没有必要的资源浪费。因此在本实施例中,由于设置了前进接口的接管条件和接管执行逻辑,就可以直接跳转到访问过的网站。
[0042]图3示出了根据本发明一个实施例的一种浏览器的结构示意图,如图3所示,该浏览器300包括浏览器内核310,该浏览器300还包括:
[0043]设置单元320,适于预先设置与浏览器内核的指定操作接口对应的接管条件,以及设置与浏览器内核的该指定操作接口对应的接管执行逻辑。
[0044]例如,通过分析现有技术中存在的问题,对调用浏览器内核的操作接口无法正确执行的操作,对应设置接管条件和接管执行逻辑。
[0045]操作处理单元330,适于当与浏览器内核的指定操作接口对应的接管条件未被满足的情况下接收到让浏览器执行指定操作的指令时,调用浏览器内核的指定操作接口执行该指定操作;当与浏览器内核的指定操作接口对应的接管条件被满足的情况下接收到让浏览器执行指定操作的指令时,通过执行相应的接管执行逻辑来执行该指定操作。
[0046]可见,图3所示的浏览器,通过在利用浏览器内核实现的浏览器中添加设置与浏览器内核的指定操作接口对应的接管条件和接管执行逻辑,当未满足接管条件时接收到指定的操作指令,调用浏览器内核的指定操作接口执行该操作;当满足接管条件时接收到指定的操作指令时,调用相应的接管执行逻辑来执行该操作。该技术方案可以有效地解决现有浏览器内核的操作接
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1