CN108268294A - 页面切换方法和装置 - Google Patents
页面切换方法和装置 Download PDFInfo
- Publication number
- CN108268294A CN108268294A CN201611261949.2A CN201611261949A CN108268294A CN 108268294 A CN108268294 A CN 108268294A CN 201611261949 A CN201611261949 A CN 201611261949A CN 108268294 A CN108268294 A CN 108268294A
- Authority
- CN
- China
- Prior art keywords
- sectional drawing
- page
- layout switch
- page layout
- history
- 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
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种页面切换方法和装置,所述方法包括以下步骤:检测预设事件的发生,预设事件包括历史栈变更事件和/或历史项页面内容变更事件;当预设事件发生时,自动截取相邻历史项的页面并保存截图;接收页面切换请求;根据页面切换请求,获取保存的截图以启动动画进行页面切换。从而,通过在接收到页面切换请求之前,如检测到预设事件发生时,提前进行截图操作,在用户发起页面切换请求时,可以直接获取截图启动动画,无需进行截图等待,节省了等待截图的时间。从而,既消除了交互界面的卡顿迟滞现象,给予用户发起页面切换请求的同时就开始执行切换动画的体验;又没有截图超时失败的风险,降低了启动动画失败的几率,大大提升了用户体验。
Description
技术领域
本发明涉及网页浏览技术领域,尤其是涉及一种页面切换方法和装置。
背景技术
浏览器是人们经常使用的浏览网页的软件工具,用户可以通过在浏览器地址栏输入统一资源定位符URL,或点击网页内的超链接等方式,访问网页,获取网页内包含的信息内容。在浏览器的使用过程中,用户打开的每一个页面对应生成了一条条记录,这些记录称之为历史记录或历史项。用户在浏览网页的过程中,可能会在多个历史项之间来回切换,如前进至后一个历史项或后退回前一个历史项,这个过程称之为页面切换。为了避免切换过程生硬,浏览器在发起页面切换时,需要获取相邻历史项的页面的截图来启动动画,呈现出平滑过渡的前进或后退效果。
现有的页面切换方案,大致流程如下:用户发起页面切换请求;浏览器请求内核线程截取相邻历史项的页面,并等待内核线程截图完成;内核线程完成相邻历史项的截图后通知浏览器;浏览器根据截图启动动画进行页面切换。
然而,现有的技术方案存在以下缺点:
1)交互界面卡顿。从用户发起页面切换请求到启动动画之前,需要等待内核线程截图,而截图是个比较耗时的操作,动辄几百毫秒,会让用户感觉到明显的时间间隔;而且为保证逻辑的正确性,浏览器会同步等待这一过程,导致用户可以观察到交互界面卡顿,严重影响用户体验。
2)启动动画失败的几率较高。等待时为了防止内核线程无响应,通常会设置超时时间,该时间是经验值,当对某些复杂的页面截图时,有概率触发超时机制,导致截图失败,进而无法启动动画,使得切换过程生硬。
综上所述,现有的页面切换方法,切换过程中交互界面有卡顿迟滞现象,且启动动画失败的几率较高而导致切换过程生硬,从而严重影响用户体验。
发明内容
本发明实施例的主要目的在于提供一种页面切换方法和装置,旨在消除切换过程中交互界面的卡顿迟滞现象,降低启动动画失败的几率。
为达以上目的,一方面提出一种页面切换方法,所述方法包括以下步骤:
检测预设事件的发生,所述预设事件包括历史栈变更事件和/或历史项页面内容变更事件;
当所述预设事件发生时,自动截取相邻历史项的页面并保存截图;
接收页面切换请求;
根据所述页面切换请求,获取保存的截图以启动动画进行页面切换。
可选地,所述检测预设事件的发生包括:当检测到发生了页面切换和/或打开了新的页面时,确定所述历史栈变更事件发生。
可选地,,所述检测预设事件的发生包括:当检测到发生了白天/夜间模式切换和/或旋转了屏幕时,确定所述历史项页面内容变更事件发生
可选地,当所述预设事件包括历史栈变更事件时,所述自动截取相邻历史项的页面并保存截图的步骤之前还包括:当检测到所述历史栈变更事件发生时,清除上一次保存的截图。
可选地,当所述预设事件包括历史项页面内容变更事件时,所述自动截取相邻历史项的页面并保存截图包括:自动截取页面内容变更后的相邻历史项的页面,并保存新的截图以替换旧的截图。
可选地,所述方法还包括:
在接收到页面请求之前,每隔预设时间截取一次相邻历史项的页面,并保存新的截图以替换旧的截图。
另一方面,提出一种页面切换装置,所述装置包括:
检测模块,用于检测预设事件的发生,所述预设事件包括历史栈变更事件和/或历史项页面内容变更事件;
截图模块,用于当所述预设事件发生时,自动截取相邻历史项的页面并保存截图;
接收模块,用于接收页面切换请求;
切换模块,用于根据所述页面切换请求,获取保存的截图以启动动画进行页面切换。
可选地,,所述检测模块用于:当检测到发生了页面切换和/或打开了新的页面时,确定所述历史栈变更事件发生。
可选地,所述检测模块用于:当检测到发生了白天/夜间模式切换和/或旋转了屏幕时,确定所述历史项页面内容变更事件发生。
可选地,当所述预设事件包括历史栈变更事件时,所述截图模块用于:当检测到所述历史栈变更事件发生时,先清除上一次保存的截图,再截取相邻历史项的页面并保存截图。
可选地,当所述预设事件包括历史项页面内容变更事件时,所述截图模块用于:自动截取页面内容变更后的相邻历史项的页面,并保存新的截图以替换旧的截图。
可选地,所述截图模块用于:在接收到页面切换请求之前,每隔预设时间截取一次相邻历史项的页面,并保存新的截图以替换旧的截图。
本发明实施例所提供的一种页面切换方法,通过在接收到页面切换请求之前提前,如检测到预设事件发生时,进行截图操作,在用户发起页面切换请求时,可以直接获取截图启动动画,无需进行截图等待,节省了等待截图的时间。从而,既消除了交互界面的卡顿迟滞现象,给予用户发起页面切换请求的同时就开始执行切换动画的体验;又没有截图超时失败的风险,降低了启动动画失败的几率,大大提升了用户体验。
附图说明
图1是本发明第一实施例的页面切换方法的流程图;
图2是本发明第二实施例的页面切换方法的流程图;
图3a是本发明实施例中进行页面切换时切换之前的页面示意图;
图3b是本发明实施例中进行页面切换时切换过程中的交互界面示意图;
图3c是本发明实施例中进行页面切换时切换之后的页面示意图;
图4a是本发明实施例的页面切换方法一实例的流程图;
图4b是图4a中的页面切换方法的信令交互示意图;
图5a是本发明实施例的页面切换方法又一实例的流程图;
图5b是图5a中的页面切换方法的信令交互示意图;
图6a是本发明实施例的页面切换方法又一实例的流程图;
图6b是图6a中的页面切换方法的信令交互示意图;
图7是本发明第三实施例的页面切换装置的模块示意图;
图8是本发明第四实施例的页面切换装置的模块示意图;
图9是用于实现本发明实施例的页面切换方法的终端的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的发明人经仔细研究发现,现有的页面切换方法之所以出现交互界面卡顿迟滞以及启动动画失败的几率较高的问题,主要是由于获取截图不及时以及获取截图的失败率较高造成的。而归根结底,则是因为现有的技术方案中,直到用户发起页面切换请求(前进或后退请求)时,浏览器才会触发内核线程截取相邻历史项图像的逻辑,因此截图时间十分紧促,自然导致浏览器无法及时获取截图,以及触发超时机制而导致截图失败。有鉴于此,提出了本发明实施例的页面切换方法,以解决上述技术问题。
本发明实施例所述的浏览器内核,即渲染引擎,其负责对网页语法的解释,如标准通用标记语言下的一个应用HTML、JavaScript,并渲染(显示)网页。
本发明实施例所述的内核线程(Core),是执行逻辑的特定线程。由于网页的呈现涉及逻辑非常复杂,为了避免用户交互界面迟滞卡顿,部分逻辑被独立到一个特定的线程中执行,这个特定的线程被称为内核线程。
本发明实施例所述的历史项,是指在浏览器的使用过程中,用户打开的每一个页面对应生成的一条条记录。
本发明实施例所述的历史栈,是指浏览器在同一个视口下(一般为Tab页,有些则为独立的窗口)的历史项形成的序列。
本发明实施例所述的相邻历史项,是指历史栈中位于当前项所在位置的前一个和/或后一个历史项。
本发明实施例所述的前进或后退,是用户切换当前项的操作,即用户进行页面切换的操作,其中:切换当前项为历史栈位置在其之前历史项的操作称为后退;反之,切换当前项为历史栈位置在其之后历史项的操作称为前进。
实施例一
参见图1,提出本发明第一实施例的页面切换方法,所述方法包括以下步骤:
S11、检测预设事件的发生。
本发明实施例中,所述预设事件如历史栈变更事件和/或历史项页面内容变更事件等。所述历史栈变更事件包括打开新的页面、发生页面切换等改变历史栈的事件,所述历史项页面内容变更事件包括旋转屏幕、白天/夜间模式切换等改变页面内容的事件。
例如,当检测到发生了页面切换和/或打开了新的页面时,则确定历史栈变更事件发生。当检测到发生了白天/夜间模式切换和/或旋转了屏幕时,则确定历史项页面内容变更事件发生。
S12、当预设事件发生时,自动截取相邻历史项的页面并保存截图。
本步骤S12中,当历史栈变更事件、历史项页面内容变更事件等预设事件发生时,则自动截取相邻历史项的页面并保存截图。
具体的,当历史栈变更事件发生时,则自动截取相邻历史项的页面,并可以替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。作为优选,本发明实施例中,当历史栈变更事件发生时,先清除上一次保存的截图,再截取相邻历史项的页面予以保存。这样做的好处是防止本次截图成功前就接收到页面切换请求时导致的获取错误的截图来启动动画。
当历史项页面内容变更事件发生时,则自动截取正确的相邻历史项的页面,即页面内容变更后的相邻历史项的页面,并替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。
其中,当当前项在历史栈中为最后一个历史项时,则截取历史栈中位于当前项所在位置的前一个历史项的页面;当当前项在历史栈中为第一个历史项时,则截取历史栈中位于当前项所指位置的后一个历史项的页面;当当前项在历史栈中既不是第一个历史项也不是最后一个历史项时,则截取历史栈中位于当前项所在位置的前一个历史项和后一个历史项(前后历史项)的页面。
S13、接收页面切换请求。
所述页面切换请求,可以是前进请求(即前进至后一个历史项的请求),也可以是后退请求(即后退回前一个历史项的请求)。
S14、根据页面切换请求,获取保存的截图以启动动画进行页面切换。
本发明实施例中,当接收到页面切换请求时,则直接获取保存的截图,利用该截图启动动画,将页面切换到目标历史项(即前一个历史项或后一个历史项)。当页面切换完成后,则返回步骤S11,继续执行下一轮页面切换流程。
具体的,当页面切换请求为前进请求时,则获取保存的后一个历史项的截图,利用该截图启动动画,将页面切换到后一个历史项。当页面切换请求为后退请求时,则获取保存的前一个历史项的截图,利用该截图启动动画,将页面切换到前一个历史项。
例如,参见图3a-图3c,用户点击图3a中浏览器工具栏的前进按钮,浏览器获取保存的后一个历史项的截图,与当前页面的图像组成动画,并启动如图3b所示的动画,该动画为水平移动动画,当动画结束后将页面切换到如图3c所示的后一个历史项。
进一步地,当接收到页面切换请求时,获取保存的截图失败(即保存的截图被清空后没有新的截图存入)时,浏览器可以等待正在进行截图操作的内核线程完成截图,或者像现有技术那样触发内核线程截取相邻历史项图像的逻辑,利用截图启动动画,以实现双重保障。
本发明实施例中,在检测到预设事件发生时,则自动进行截图操作并保存,当用户发起页面切换请求时,就可以直接获取截图启动动画,无需进行截图等待,节省了等待截图的时间。从而,既消除了交互界面的卡顿迟滞现象,给予用户发起页面切换请求的同时就开始执行切换动画的体验;又没有截图超时失败的风险,降低了启动动画失败的几率,大大提升了用户体验。
实施例二
参见图2,提出本发明第二实施例的页面切换方法,所述方法包括以下步骤:
S21、在接收到页面切换请求前,自动截取相邻历史项的页面并保存截图。
本发明实施例所述的接收到页面切换请求前,是指在接收到上一次页面切换请求之后,到接收到下一次页面切换请求之前的期间内。在该期间的任意时刻,或者在满足预设条件时,都可以自动截取相邻历史项的页面,并保存截取的图像(即截图)。
所述预设条件,可以是事件条件、时间条件等。所述页面切换请求,可以是前进请求(即前进至后一个历史项的请求),也可以是后退请求(即后退回前一个历史项的请求)。
本发明实施例中,当检测到预设事件时,自动截取相邻历史项的页面并保存截图。所述预设事件如历史栈变更事件和/或历史项页面内容变更事件等。所述历史栈变更事件包括打开新的页面、发生页面切换等改变历史栈的事件,所述历史项页面内容变更事件包括旋转屏幕、白天/夜间模式切换等改变页面内容的事件。
可选地,当检测到历史栈变更事件发生时,则自动截取相邻历史项的页面,并可以替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。作为优选,本发明实施例中,当检测到历史栈变更事件发生时,先清除上一次保存的截图,再截取相邻历史项的页面予以保存。这样做的好处是防止本次截图成功前就接收到页面切换请求时导致的获取错误的截图来启动动画。
可选地,当检测到历史项页面内容变更事件发生时,则自动截取正确的相邻历史项的页面,即页面内容变更后的相邻历史项的页面,并替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。
在一可选实施例中,也可以在触发时间条件时自动进行截图操作。例如,每隔预设时间截取一次相邻历史项的页面,并保存新的截图以替换旧的截图。间隔时间可以根据需要设定,理论上间隔时间越短越好,但要综合考虑内存占用和能耗,设定一个合理的时间间隔。
本领域技术人员可以理解,除了通过上述事件条件、时间条件的触发在接收到页面切换请求之前进行截图操作外,还可以设定其它的条件来触发截图操作,同理均在本发明的保护范围内。
S22、当接收到页面切换请求时,获取保存的截图以启动动画进行页面切换。
本发明实施例中,当接收到页面切换请求时,则直接获取保存的截图,利用该截图启动动画,将页面切换到目标历史项(即前一个历史项或后一个历史项)。当页面切换完成后,则返回步骤S21,继续执行下一轮页面切换流程。
具体的,当页面切换请求为前进请求时,则获取保存的后一个历史项的截图,利用该截图启动动画,将页面切换到后一个历史项。当页面切换请求为后退请求时,则获取保存的前一个历史项的截图,利用该截图启动动画,将页面切换到前一个历史项。
例如,参见图3a-图3c,用户点击图3a中浏览器工具栏的前进按钮,浏览器获取保存的后一个历史项的截图,与当前页面的图像组成动画,并启动如图3b所示的动画,该动画为水平移动动画,当动画结束后将页面切换到如图3c所示的后一个历史项。
进一步地,当接收到页面切换请求时,获取保存的截图失败(即保存的截图被清空后没有新的截图存入)时,浏览器可以等待正在进行截图操作的内核线程完成截图,或者像现有技术那样触发内核线程截取相邻历史项图像的逻辑,利用截图启动动画,以实现双重保障。
本发明实施例的页面切换方法,将截图操作提前,节省了用户发起页面切换请求到启动动画的时间间隔,使得页面切换过程中交互界面无卡顿迟滞,切换更加平滑,提升了用户的页面切换体验。同时,现有方案由于同步等待时长时间占用用户界面(UI)线程,无法插入事件响应消息,导致发生应用程序无响应的概率较高,而本方案由于无需等待,因此大大降低了应用程序无响应的概率。
接下来参见图4a-图6b,将通过具体实例对本发明实施例的页面切换方法进行详细说明,附图中的网络视图(WebView)表示的是浏览器的一个Tab页实例。
如图4a、4b所示,所述页面切换方法包括以下步骤:
S101、当历史栈变更时,浏览器清除上一次保存的截图。
S102、浏览器请求内核线程截取相邻历史项的页面。
S103、内核线程完成相邻历史项的截图后通知浏览器。
S104、浏览器保存截图。
S105、当用户发起页面切换请求时,浏览器直接获取已保存的截图,并启动动画。
S106、动画完成后,浏览器将页面切换到目标历史项。并返回步骤S101。
本实例中,当发生历史栈变更事件时,及时进行截图操作,当接收到页面切换请求时,则直接获取截图启动动画,无需进行截图等待,节省了等待截图的时间,给予用户发起页面切换请求的同时就开始执行切换动画的体验,并且没有截图超时失败的风险。从而,消除了交互界面的卡顿迟滞现象,降低启动动画失败的几率,大大提升了用户体验。
在某些实施例中,有可能在步骤S103之前用户就发起了页面切换请求,由于此时内核线程还没有完成截图操作,浏览器会获取截图失败。此时,浏览器可以不启动动画,直接将页面切换到目标历史项;也可以等待内核线程完成截图操作,待截图完成后启动动画进行页面切换。
如图5a、5b所示,所述页面切换方法包括以下步骤:
S201、当历史栈变更时,浏览器清除上一次保存的截图。
S202、浏览器请求内核线程截取相邻历史项的页面。
S203、内核线程完成相邻历史项的截图后通知浏览器。
S204、浏览器保存截图。
S205、浏览器检测到变更历史项页面内容的事件发生。
S206、浏览器请求内核线程截取相邻历史项的页面。
S207、内核线程完成相邻历史项的截图后通知浏览器。
S208、浏览器替换保存截图。即保存本次截取的截图以替换上次截取的截图。
S209、当用户发起页面切换请求时,浏览器直接获取保存的截图,并启动动画。
S300、动画完成后,浏览器将页面切换到目标历史项。并返回步骤S201。
本实例中,当历史项页面内容变更事件发生时,及时进行截图操作并替换保存截图,当接收到页面切换请求时,则直接获取保存的截图启动动画,无需进行截图等待,节省了等待截图的时间,给予用户发起页面切换请求的同时就开始执行切换动画的体验,并且没有截图超时失败的风险。而且显示的动画与当前的显示模式相匹配,提高了显示画面的协调性和一致性。
如图6a、6b所示,所述页面切换方法包括以下步骤:
S301、当历史栈变更时,浏览器清除上一次保存的截图。
S302、浏览器请求内核线程截取相邻历史项的页面。
S303、内核线程完成相邻历史项的截图后通知浏览器。
S304、浏览器保存截图。
S305、浏览器检测到变更历史项页面内容的事件发生。
S306、浏览器请求内核线程截取相邻历史项的页面。
S307、当内核线程截图完毕之前,用户就发起页面切换请求时,浏览器获取已保存的截图,并启动动画。
S308、动画完成后,浏览器将页面切换到目标历史项。并返回步骤S301。
本实例中,当历史项页面内容变更事件发生后,没有及时完成截图就接收到页面切换请求时,浏览器就直接利用历史项页面内容变更事件发生之前保存的截图启动动画进行页面切换,避免交互界面出现卡顿迟滞现象。虽然会出现动画与当前的显示模式不相符的问题,但该方案主要是将必然(或大概率)需要做的工作提前执行,并在条件变更的情况下调整相应的行为以保证正确的结果。
在某些实施例中,浏览器也可以等待内核线程完成截图操作,待截图完成后再启动动画进行页面切换,虽然需要短暂的等待时间,但由于在接收到页面切换请求之前已开始进行截图操作,相对于现有技术来说等待时间要短,因此交互界面即使出现卡顿现象也不会很明显,并且显示的动画与当前的显示模式相匹配。
本发明实施例的页面切换方法,通过在接收到页面切换请求之前提前进行截图操作,在用户发起页面切换请求时,可以直接获取截图启动动画,无需进行截图等待,节省了等待截图的时间。从而,既消除了交互界面的卡顿迟滞现象,给予用户发起页面切换请求的同时就开始执行切换动画的体验;又没有截图超时失败的风险,降低了启动动画失败的几率,大大提升了用户体验。
实施例三
参见图7,提出本发明第三实施例的页面切换装置,所述装置包括检测模块101、截图模块102、接收模块103和切换模块104,其中:
检测模块130:用于检测预设事件的发生。
本发明实施例中,所述预设事件如历史栈变更事件和/或历史项页面内容变更事件等。所述历史栈变更事件包括打开新的页面、发生页面切换等改变历史栈的事件,所述历史项页面内容变更事件包括旋转屏幕、白天/夜间模式切换等改变页面内容的事件。
例如,当检测到发生了页面切换和/或打开了新的页面时,检测模块101则确定历史栈变更事件发生。当检测到发生了白天/夜间模式切换和/或旋转了屏幕时,检测模块101则确定历史项页面内容变更事件发生。
截图模块102:用于当预设事件发生时,自动截取相邻历史项的页面并保存截图。
具体的,当历史栈变更事件发生时,截图模块102则自动截取相邻历史项的页面,并可以替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。作为优选,本发明实施例中,当历史栈变更事件发生时,截图模块102先清除上一次保存的截图,再截取相邻历史项的页面予以保存。这样做的好处是防止本次截图成功前就接收到页面切换请求时导致的获取错误的截图来启动动画。
当历史项页面内容变更事件发生时,截图模块102则自动截取正确的相邻历史项的页面,即页面内容变更后的相邻历史项的页面,并替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。
其中,当当前项在历史栈中为最后一个历史项时,截图模块102则截取历史栈中位于当前项所在位置的前一个历史项的页面;当当前项在历史栈中为第一个历史项时,截图模块102则截取历史栈中位于当前项所指位置的后一个历史项的页面;当当前项在历史栈中既不是第一个历史项也不是最后一个历史项时,截图模块102则截取历史栈中位于当前项所在位置的前一个历史项和后一个历史项(前后历史项)的页面。
接收模块103:用于接收页面切换请求。
所述页面切换请求,可以是前进请求(即前进至后一个历史项的请求),也可以是后退请求(即后退回前一个历史项的请求)。
切换模块104:用于根据页面切换请求,获取保存的截图以启动动画进行页面切换。
本发明实施例中,当接收到页面切换请求时,切换模块104则直接获取保存的截图,利用该截图启动动画,将页面切换到目标历史项(即前一个历史项或后一个历史项)。
具体的,当页面切换请求为前进请求时,切换模块104则获取保存的后一个历史项的截图,利用该截图启动动画,将页面切换到后一个历史项。当页面切换请求为后退请求时,切换模块104则获取保存的前一个历史项的截图,利用该截图启动动画,将页面切换到前一个历史项。
进一步地,当接收到页面切换请求时,切换模块104获取保存的截图失败(即保存的截图被清空后没有新的截图存入)时,切换模块104可以等待正在进行截图操作的内核线程完成截图,或者像现有技术那样触发内核线程截取相邻历史项图像的逻辑,利用截图启动动画,以实现双重保障。
在具体实施时,截图模块102可以通过浏览器请求内核线程截取相邻历史项的页面,并通过浏览器保存截图或清除上一次保存的截图。切换模块104可以通过浏览器获取保存的截图,并启动动画进行页面切换操作。
本发明实施例中,在检测到预设事件发生时,则自动进行截图操作并保存,当用户发起页面切换请求时,就可以直接获取截图启动动画,无需进行截图等待,节省了等待截图的时间。从而,既消除了交互界面的卡顿迟滞现象,给予用户发起页面切换请求的同时就开始执行切换动画的体验;又没有截图超时失败的风险,降低了启动动画失败的几率,大大提升了用户体验。
实施例四
参见图8,提出本发明第四实施例的页面切换装置,所述装置包括截图模块201和切换模块202,其中:
截图模块201:用于在接收到页面切换请求前,自动截取相邻历史项的页面并保存截图。
本发明实施例所述的接收到页面切换请求前,是指在接收到上一次页面切换请求之后,到接收到下一次页面切换请求之前的期间内。在该期间的任意时刻,或者在满足预设条件时,截图模块都可以自动截取相邻历史项的页面,并保存截取的图像(即截图)。
所述预设条件,可以是事件条件、时间条件等。所述页面切换请求,可以是前进请求(即前进至后一个历史项的请求),也可以是后退请求(即后退回前一个历史项的请求)。
本发明实施例中,当检测到预设事件时,截图模块201自动截取相邻历史项的页面并保存截图。所述预设事件如历史栈变更事件、历史项页面内容变更事件等。所述历史栈变更事件包括打开新的页面、发生页面切换等改变历史栈的事件,所述历史页面内容变更事件包括旋转屏幕、白天/夜间模式切换等改变页面内容的事件。
可选地,当检测到历史栈变更事件发生时,截图模块201则自动截取相邻历史项的页面,并可以替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。作为优选,本发明实施例中,当检测到历史栈变更事件发生时,截图模块201先清除上一次保存的截图,再截取相邻历史项的页面予以保存。这样做的好处是防止本次截图成功前就接收到页面切换请求时导致的获取错误的截图来启动动画。
可选地,当检测到历史项页面内容变更事件发生时,截图模块201则自动截取正确的相邻历史项的页面,即页面内容变更后的相邻历史项的页面,并替换保存本次的截图,即保存本次截取的新的截图以替换上次截取的旧的截图。
在一可选实施例中,截图模块201也可以在触发时间条件时自动进行截图操作。例如,截图模块201每隔预设时间截取一次相邻历史项的页面,并保存新的截图以替换旧的截图。间隔时间可以根据需要设定,理论上间隔时间越短越好,但要综合考虑内存占用和能耗,设定一个合理的时间间隔。
本领域技术人员可以理解,除了通过上述事件条件、时间条件的触发在接收到页面切换请求之前进行截图操作外,还可以设定其它的条件来触发截图操作,同理均在本发明的保护范围内。
切换模块202:用于当接收到页面切换请求时,获取保存的截图以启动动画进行页面切换。
本发明实施例中,当接收到页面切换请求时,切换模块202则直接获取保存的截图,利用该截图启动动画,将页面切换到目标历史项(即前一个历史项或后一个历史项)。
具体的,当页面切换请求为前进请求时,切换模块202则获取保存的后一个历史项的截图,利用该截图启动动画,将页面切换到后一个历史项。当页面切换请求为后退请求时,切换模块202则获取保存的前一个历史项的截图,利用该截图启动动画,将页面切换到前一个历史项。
进一步地,当接收到页面切换请求时,切换模块202获取保存的截图失败(即保存的截图被清空后没有新的截图存入)时,切换模块202可以等待正在进行截图操作的截图模块完成截图,或者像现有技术那样通知截图模块进行截图操作,利用截图启动动画,以实现双重保障。
在具体实施时,截图模块201可以通过浏览器请求内核线程截取相邻历史项的页面,并通过浏览器保存截图或清除上一次保存的截图。切换模块202可以通过浏览器获取保存的截图,并启动动画进行页面切换操作。
本发明实施例的页面切换装置,通过在接收到页面切换请求之前提前进行截图操作,在用户发起页面切换请求时,可以直接获取截图启动动画,无需进行截图等待,节省了等待截图的时间。从而,既消除了交互界面的卡顿迟滞现象,给予用户发起页面切换请求的同时就开始执行切换动画的体验;又没有截图超时失败的风险,降低了启动动画失败的几率,大大提升了用户体验。
本发明实施例的页面切换方法和装置,主要应用于网页的切换,当然也可以应用于类似的其它的页面切换场景,本发明对此不作限制。
本发明实施例还提供了另一种用于实现本发明实施例页面切换方法的终端,如图9所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为手机、平板电脑、个人电脑(PC)、PDA(PersonalDigital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图9示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路210、存储器220、输入单元230、显示单元240、传感器250、音频电路220、无线保真(wireless fidelity,WiFi)模块270、处理器280、以及电源290等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图9对手机的各个构成部件进行具体的介绍:
RF电路210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器280处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路210还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器220可用于存储软件程序以及模块,处理器280通过运行存储在存储器220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元230可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元230可包括触控面板231以及其他输入设备232。触控面板231,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板231上或在触控面板231附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器280,并能接收处理器280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板231。除了触控面板231,输入单元230还可以包括其他输入设备232。具体地,其他输入设备232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元240可包括显示面板241,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板241。进一步的,触控面板231可覆盖显示面板241,当触控面板231检测到在其上或附近的触摸操作后,传送给处理器280以确定触摸事件的类型,随后处理器280根据触摸事件的类型在显示面板241上提供相应的视觉输出。虽然在图9中,触控面板231与显示面板241是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板231与显示面板241集成而实现手机的输入和输出功能。
手机200还可包括至少一种传感器250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板241的亮度,接近传感器可在手机移动到耳边时,关闭显示面板241和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路260、扬声器261,传声器262可提供用户与手机之间的音频接口。音频电路260可将接收到的音频数据转换后的电信号,传输到扬声器261,由扬声器261转换为声音信号输出;另一方面,传声器262将收集的声音信号转换为电信号,由音频电路260接收后转换为音频数据,再将音频数据输出处理器280处理后,经RF电路210以发送给比如另一手机,或者将音频数据输出至存储器220以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块270,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器280可包括一个或多个处理单元;优选的,处理器280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器280中。
手机还包括给各个部件供电的电源290(比如电池),优选的,电源可以通过电源管理系统与处理器280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器280还具有以下功能:
检测预设事件的发生,所述预设事件包括历史栈变更事件和/或历史项页面内容变更事件;
当所述预设事件发生时,自动截取相邻历史项的页面并保存截图;
接收页面切换请求;
根据所述页面切换请求,获取保存的截图以启动动画进行页面切换。
上述处理器280,还用于:
当检测到发生了页面切换和/或打开了新的页面时,确定所述历史栈变更事件发生。
上述处理器280,还用于:
当检测到发生了白天/夜间模式切换和/或旋转了屏幕时,确定所述历史项页面内容变更事件发生
上述处理器280,还用于:
当检测到历史栈变更事件发生时,先清除上一次保存的截图,再截取相邻历史项的页面并保存截图。
上述处理器280,还用于:
当检测到历史项页面内容变更事件时,自动截取页面内容变更后的相邻历史项的页面,并保存新的截图以替换旧的截图。
上述处理器280,还用于:
每隔预设时间截取一次相邻历史项的页面,并保存新的截图以替换旧的截图。
值得注意的是,上述终端实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (10)
1.一种页面切换方法,其特征在于,包括以下步骤:
检测预设事件的发生,所述预设事件包括历史栈变更事件和/或历史项页面内容变更事件;
当所述预设事件发生时,自动截取相邻历史项的页面并保存截图;
接收页面切换请求;
根据所述页面切换请求,获取保存的截图以启动动画进行页面切换。
2.根据权利要求1所述的页面切换方法,其特征在于,所述检测预设事件的发生包括:
当检测到发生了页面切换和/或打开了新的页面时,确定所述历史栈变更事件发生。
3.根据权利要求1所述的页面切换方法,其特征在于,所述检测预设事件的发生包括:
当检测到发生了白天/夜间模式切换和/或旋转了屏幕时,确定所述历史项页面内容变更事件发生。
4.根据权利要求1-3任一项所述的页面切换方法,其特征在于,当所述预设事件包括历史栈变更事件时,所述自动截取相邻历史项的页面并保存截图的步骤之前还包括:
当所述历史栈变更事件发生时,清除上一次保存的截图。
5.根据权利要求1-3任一项所述的页面切换方法,其特征在于,当所述预设事件包括历史项页面内容变更事件时,所述自动截取相邻历史项的页面并保存截图包括:
自动截取页面内容变更后的相邻历史项的页面,并保存新的截图以替换旧的截图。
6.一种页面切换装置,其特征在于,包括:
检测模块,用于检测预设事件的发生,所述预设事件包括历史栈变更事件和/或历史项页面内容变更事件;
截图模块,用于当所述预设事件发生时,自动截取相邻历史项的页面并保存截图;
接收模块,用于接收页面切换请求;
切换模块,用于根据所述页面切换请求,获取保存的截图以启动动画进行页面切换。
7.根据权利要求6所述的页面切换装置,其特征在于,所述检测模块用于:当检测到发生了页面切换和/或打开了新的页面时,确定所述历史栈变更事件发生。
8.根据权利要求6所述的页面切换装置,其特征在于,所述检测模块用于:当检测到发生了白天/夜间模式切换和/或旋转了屏幕时,确定所述历史项页面内容变更事件发生。
9.根据权利要求6-8任一项所述的页面切换装置,其特征在于,当所述预设事件包括历史栈变更事件时,所述截图模块用于:
当所述历史栈变更事件发生时,先清除上一次保存的截图,再截取相邻历史项的页面并保存截图。
10.根据权利要求6-8任一项所述的页面切换装置,其特征在于,当所述预设事件包括历史项页面内容变更事件时,所述截图模块用于:
自动截取页面内容变更后的相邻历史项的页面,并保存新的截图以替换旧的截图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611261949.2A CN108268294B (zh) | 2016-12-30 | 2016-12-30 | 页面切换方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611261949.2A CN108268294B (zh) | 2016-12-30 | 2016-12-30 | 页面切换方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108268294A true CN108268294A (zh) | 2018-07-10 |
CN108268294B CN108268294B (zh) | 2021-03-12 |
Family
ID=62755043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611261949.2A Active CN108268294B (zh) | 2016-12-30 | 2016-12-30 | 页面切换方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268294B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110989955A (zh) * | 2019-12-04 | 2020-04-10 | Tcl移动通信科技(宁波)有限公司 | 界面显示方法、装置、存储介质及移动终端 |
CN116991528A (zh) * | 2023-08-14 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种页面切换方法、装置、存储介质和电子设备 |
CN117093119A (zh) * | 2023-07-12 | 2023-11-21 | 荣耀终端有限公司 | 一种应用页面切换方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130283137A1 (en) * | 2012-04-23 | 2013-10-24 | Yahoo! Inc. | Snapshot Refreshment for Search Results Page Preview |
CN104238902A (zh) * | 2013-06-09 | 2014-12-24 | 苹果公司 | 堆栈式标签视图 |
CN105630510A (zh) * | 2016-02-04 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 应用页面的动画处理方法和装置 |
-
2016
- 2016-12-30 CN CN201611261949.2A patent/CN108268294B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130283137A1 (en) * | 2012-04-23 | 2013-10-24 | Yahoo! Inc. | Snapshot Refreshment for Search Results Page Preview |
CN104238902A (zh) * | 2013-06-09 | 2014-12-24 | 苹果公司 | 堆栈式标签视图 |
CN105630510A (zh) * | 2016-02-04 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 应用页面的动画处理方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110989955A (zh) * | 2019-12-04 | 2020-04-10 | Tcl移动通信科技(宁波)有限公司 | 界面显示方法、装置、存储介质及移动终端 |
CN117093119A (zh) * | 2023-07-12 | 2023-11-21 | 荣耀终端有限公司 | 一种应用页面切换方法 |
CN116991528A (zh) * | 2023-08-14 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种页面切换方法、装置、存储介质和电子设备 |
CN116991528B (zh) * | 2023-08-14 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 一种页面切换方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108268294B (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978115B (zh) | 内容显示方法及装置 | |
CN106484562B (zh) | 一种数据传输处理方法及终端设备 | |
US10775979B2 (en) | Buddy list presentation control method and system, and computer storage medium | |
EP3015978A1 (en) | Gesture-based conversation processing method, apparatus, and terminal device | |
WO2018045873A1 (zh) | 即时通信应用的消息处理方法及相关产品 | |
CN104238893B (zh) | 一种对视频预览图片进行显示的方法和装置 | |
US10956653B2 (en) | Method and apparatus for displaying page and a computer storage medium | |
CN107193451B (zh) | 信息展示方法、装置、计算机设备及计算机可读存储介质 | |
CN103309850A (zh) | 内容编辑方法、装置及终端 | |
CN108566332A (zh) | 一种即时通讯信息处理方法、装置和存储介质 | |
CN107168609A (zh) | 状态栏显示方法、装置及终端 | |
CN111580815B (zh) | 一种页面元素的编辑方法及相关设备 | |
WO2014194688A1 (en) | Webpage processing method and terminal device | |
CN104850406A (zh) | 一种切换页面的方法和装置 | |
CN103616983A (zh) | 一种图片展示方法、装置和终端设备 | |
WO2020001193A1 (zh) | 手势识别方法、装置、可读存储介质及移动终端 | |
CN104298666A (zh) | 网页分享方法和装置 | |
CN108228120A (zh) | 一种ar场景下的多屏联动方法和系统 | |
CN107370670A (zh) | 未读消息提取展示方法及装置 | |
CN104869465A (zh) | 视频播放控制方法和装置 | |
CN106547844A (zh) | 一种用户界面的处理方法和装置 | |
CN104216929A (zh) | 一种页面元素的拦截方法和装置 | |
CN103458286A (zh) | 一种进行电视频道切换的方法和装置 | |
CN109460181A (zh) | 锁屏壁纸显示方法、装置、移动终端及存储介质 | |
CN104991699A (zh) | 一种视频显示控制的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |