著录项信息
专利名称 | 页面交互方法、装置及终端 |
申请号 | CN201310316710.0 | 申请日期 | 2013-07-25 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-11-20 | 公开/公告号 | CN103399706A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F3/0488 | IPC分类号 | G;0;6;F;3;/;0;4;8;8查看分类表>
|
申请人 | 北京小米科技有限责任公司 | 申请人地址 | 北京市朝阳区望京西路甲50号卷石天地大厦A座12层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 小米科技有限责任公司 | 当前权利人 | 小米科技有限责任公司 |
发明人 | 张少伟;徐国市;袁军;牛坤 |
代理机构 | 北京三高永信知识产权代理有限责任公司 | 代理人 | 张耀光 |
摘要
本发明公开了页面交互方法、装置及终端,利用浏览器核心层中当前页面上的元素的属性,确定页面交互的第一触发事件在当前页面上针对的区域中存在至少两个能够响应所述第一触发事件的元素时,即确定触发所述第一触发事件的触摸操作为多义性操作时,放大显示所述区域,方便用户在放大显示后的所述区域中利用触摸手势进行精确的选择。另一方面,由于浏览器核心层中记录了当前页面中所有元素的属性,因此可以针对链接、按钮、输入框、下拉框、单选选项和多选选项等各种类型的元素,实现用户的精确选择。
页面交互方法、装置及终端\n技术领域\n[0001]本发明涉及计算机技术领域,特别涉及页面交互方法、装置及终端。\n背景技术\n[0002]由于操作的便利性,具有触摸屏的终端正在被越来越广泛的使用,如智能手机和平板电脑等。用户通过用手指接触触摸屏来执行不同的触摸手势,可以触发终端执行不同的操作。上述触摸手势包括点击和滑动等。\n[0003]用户可以在具有触摸屏的终端上浏览各种页面、并进行页面交互操作,如通过浏览器浏览网页页面,这些页面上往往具有链接和按钮等元素,供用户执行点击操作。\n[0004]发明人在实现本发明的过程中,发现上述页面交互的方式至少存在如下缺陷:\n[0005]当页面上元素的像素面积较小时,由于手指无法做到鼠标那样的精确点击,当手指点击的区域内有多个元素时,终端无法确定用户实际要点击的是哪一个元素,可能产生误操作。\n发明内容\n[0006]为了解决背景技术中存在的问题,本发明实施例提供了页面交互方法、装置及终端。\n[0007]第一方面,本发明实施例提供一种页面交互方法,应用于终端的浏览器中,所述方法包括:\n[0008]确定页面交互的第一触发事件在所述浏览器的当前页面上针对的区域;\n[0009]利用所述浏览器核心层中所述当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素;\n[0010]如果确定所述区域中存在至少两个能够响应所述第一触发事件的元素,放大显示所述区域。\n[0011]可选的,所述利用所述浏览器的核心层中所述当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素,包括:\n[0012]查询所述浏览器核心层中所述当前页面的渲染树的当前节点;其中,所述渲染树具有至少一个节点,每个所述节点对应一个所述当前页面的元素的属性;\n[0013]确定所述当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件;\n[0014]如果所述当前节点对应的元素在所述区域中且能够响应所述第一触发事件,记录所述当前节点对应的元素;\n[0015]将所述当前节点的下一个节点作为当前节点、并重复执行所述查询的步骤,直至记录的元素个数达到两个。\n[0016]可选的,所述元素的属性包括:在所述当前页面上的位置、显示属性和响应属性;\n[0017]所述确定所述当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件,包括:\n[0018]根据当前节点对应的元素在所述当前页面上的位置,判断当前节点对应的元素是否部分或全部在所述区域中;\n[0019]如果当前节点对应的元素部分或全部在所述区域中,根据当前节点对应的元素的显示属性判断当前节点对应的元素是否可见及是否被其他元素覆盖;\n[0020]如果当前节点对应的元素可见且未被其他元素覆盖,根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应所述第一触发事件。\n[0021]可选的,所述根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应所述第一触发事件,包括:\n[0022]根据当前节点对应的元素的响应属性,判断当前节点对应的元素自身是否能够响应所述第一触发事件,或者,判断当前节点的父节点是否注册了所述第一触发事件的响应函数。\n[0023]可选的,所述确定页面交互的第一触发事件在所述浏览器的当前页面上针对的区域,包括:\n[0024]识别触发所述第一触发事件的触摸手势在所述终端的触摸屏上的定位点;\n[0025]基于所述定位点扩展设定范围,作为所述第一触发事件在所述浏览器的当前页面上针对的区域。\n[0026]可选的,所述放大显示所述区域,包括:\n[0027]在所述当前页面上显示浮动窗口,所述浮动窗口中显示放大后的所述区域;\n[0028] 或者,在所述当前页面上显示动态侧边栏,所述动态侧边栏中显示放大后的所述区域。\n[0029]可选的,所述方法还包括:\n[0030]检测放大后的所述区域中的页面交互的第二触发事件;\n[0031]基于所述第二触发事件指向的元素响应所述第二触发事件。\n[0032]可选的,所述元素的属性包括:在当前页面上的位置和响应属性;\n[0033]所述基于所述第二触发事件指向的元素响应所述触发事件,包括:\n[0034]确定触发所述第二触发事件的触摸手势在放大后的所述区域中的定位点;\n[0035]确定所述定位点在放大前的所述区域中的映射位置;\n[0036]根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素;\n[0037]基于确定出的元素的响应属性响应所述第二触发事件。\n[0038]第二方面,本发明实施例提供一种页面交互装置,应用于终端的浏览器中,所述装置包括:\n[0039]第一确定单元,用于确定页面交互的第一触发事件在所述浏览器的当前页面上针对的区域;\n[0040]第二确定单元,用于利用所述浏览器核心层中所述当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素;\n[0041]显示单元,用于在所述第二确定单元确定所述区域中存在至少两个能够响应所述第一触发事件的元素时,放大显示所述区域。\n[0042]可选的,所述第二确定单元,包括:\n[0043]查询模块,用于查询所述浏览器核心层中所述当前页面的渲染树的当前节点;其中,所述渲染树具有至少一个节点,每个所述节点对应一个所述当前页面的元素的属性;\n[0044]确定模块,用于确定所述当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件;\n[0045]记录模块,用于在所述确定模块确定出所述当前节点对应的元素在所述区域中且能够响应所述第一触发事件时,记录所述当前节点对应的元素,并触发所述查询模块将当前节点的下一个节点作为当前节点重复执行所述查询的操作,直至记录的元素个数达到两个。\n[0046]可选的,所述元素的属性包括:在所述当前页面上的位置、显示属性和响应属性;\n[0047]所述确定模块,包括:\n[0048]第一判断子模块,用于根据当前节点对应的元素在所述当前页面上的位置,判断当前节点对应的元素是否部分或全部在所述区域中;\n[0049]第二判断子模块,用于在所述第一判断子模块判断出当前节点对应的元素部分或全部在所述区域中时,根据当前节点对应的元素的显示属性判断当前节点对应的元素是否可见及是否被其他元素覆盖;\n[0050]第三判断子模块,用于在所述第二判断子模块判断出当前节点对应的元素可见且未被其他元素覆盖时,根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应所述第一触发事件。\n[0051]可选的,所述第三判断子模块根据当前节点对应的元素的响应属性,判断当前节点对应的元素自身是否能够响应所述第一触发事件,或者,判断当前节点的父节点是否注册了所述第一触发事件的响应函数。\n[0052]可选的,所述第一确定单元,包括:\n[0053]识别模块,用于识别触发所述第一触发事件的触摸手势在所述终端的触摸屏上的定位点;\n[0054]确定模块,用于基于所述定位点扩展设定范围,作为所述第一触发事件在所述浏览器的当前页面上针对的区域。\n[0055] 可选的,所述显示单元在所述当前页面上显示浮动窗口,所述浮动窗口中显示放大后的所述区域;或者,在所述当前页面上显示动态侧边栏,所述动态侧边栏中显示放大后的所述区域。\n[0056] 可选的,所述装置还包括:\n[0057]检测单元,用于检测放大后的所述区域中的页面交互的第二触发事件;\n[0058]响应单元,用于基于所述第二触发事件指向的元素响应所述第二触发事件。\n[0059]可选的,所述元素的属性包括:在当前页面上的位置及响应属性;\n[0060] 所述响应单元,包括:\n[0061]第一确定模块,用于确定所述第二触发事件在放大后的所述区域中的定位点;\n[0062]第二确定模块,用于确定所述定位点在放大前的所述区域中的映射位置;\n[0063]第三确定模块,用于根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素;\n[0064]响应模块,用于基于所述第三确定模块确定出的元素的属性响应所述第二触发事件。\n[0065]第三方面,本发明实施例提供了一种终端,所述终端包括:\n[0066] 一个或多个处理器;\n[0067]存储器;和\n[0068] —个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:\n[0069]确定页面交互的第一触发事件在浏览器的当前页面上针对的区域;\n[0070]利用所述浏览器核心层中所述当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素;\n[0071]如果确定所述区域中存在至少两个能够响应所述第一触发事件的元素,放大显示所述区域。\n[0072]可见,本发明实施例提供的页面交互方法、装置及终端,利用浏览器核心层中当前页面上的元素的属性,确定页面交互的第一触发事件在当前页面上针对的区域中存在至少两个能够响应所述第一触发事件的元素时,即确定触发所述第一触发事件的触摸操作为多义性操作时,放大显示所述区域,方便用户在放大显示后的所述区域中利用触摸手势进行精确的选择。另一方面,由于浏览器核心层中记录了当前页面中所有元素的属性,因此可以针对链接、按钮、输入框、下拉框、单选选项和多选选项等各种类型的元素,实现用户的精确选择。\n附图说明\n[0073]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0074]图1是本发明实施例一中页面交互方法的流程图;\n[0075]图2是本发明实施例二中页面交互方法的流程图;\n[0076]图3是本发明实施例二中页面交互的触发事件针对的区域的示意图;\n[0077]图4是本发明实施例二中渲染树的结构示意图;\n[0078]图5是本发明实施例三中页面交互方法的流程图;\n[0079]图6是本发明实施例三中页面交互的触发事件在当前页面上针对的区域的示意图;\n[0080]图7是本发明实施例四中页面交互方法的流程图;\n[0081]图8是本发明实施例四中浮动窗口的不意图;\n[0082]图9是本发明实施例五中页面交互装置的结构示意图;\n[0083]图10是本发明实施例六中页面交互装置的结构示意图;\n[0084]图11是本发明实施例七中页面交互装置的结构示意图;\n[0085]图12是本发明实施例八中一种终端的结构示意图。\n具体实施方式\n[0086]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例作进一步地详细描述。\n[0087] 实施例一\n[0088]图1是本发明实施例一中页面交互方法的流程图,该方法应用于终端的浏览器中。本实施例中的终端具有触摸屏,用户可以在触摸屏上执行触摸手势来触发页面交互的触发事件,例如通过触摸屏点击当前页面上的确定按钮,提交当前页面上的信息,或者通过触摸屏点击当前页面上的网页链接,由当前页面跳转到网页链接指示的页面。\n[0089]在步骤11中,确定页面交互的第一触发事件在浏览器的当前页面上针对的区域。\n[0090]在步骤12中,利用浏览器核心层中当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素。浏览器核心层指浏览器的webcore,在webcore中记录有当前页面上所有元素的属性。\n[0091]在步骤13中,如果确定所述区域中存在至少两个能够响应所述第一触发事件的元素,放大显示所述区域。当确定所述区域中存在至少两个能够响应所述第一触发事件的元素时,说明用户当前执行的触摸操作为多义性操作,即终端无法准确确定用户实际要触发的是哪一个元素,此时可能会产生误操作。\n[0092]可见,本实施例的页面交互方法中,当利用浏览器核心层中当前页面上的元素的属性,确定页面交互的第一触发事件在当前页面上针对的区域中存在至少两个能够响应所述第一触发事件的元素时,即确定触发所述第一触发事件的触摸操作为多义性操作时,放大显示所述区域,方便用户在放大显示后的所述区域中利用触摸手势进行精确的选择。另一方面,由于浏览器核心层中记录了当前页面中所有元素的属性,因此本实施例可以针对链接、按钮、输入框、下拉框、单选选项和多选选项等各种类型的元素,实现用户的精确选择。\n[0093]本实施例中的步骤11、步骤12和步骤13具有多种可选的实施方式,下面的实施例二至四分别针对步骤11、步骤12和步骤13给出举例。\n[0094] 实施例二\n[0095]图2是本发明实施例二中页面交互方法的流程图,该方法应用于终端的浏览器中,本实施例中的终端具有触摸屏,用户可以在触摸屏上执行触摸手势来触发页面交互的触发事件,例如通过触摸屏点击当前页面上的确定按钮,提交当前页面上的信息,或者通过触摸屏点击当前页面上的网页链接,由当前页面跳转到网页链接指示的页面。\n[0096]在步骤21中,识别触发页面交互的第一触发事件的触摸手势在终端的触摸屏上的定位点。\n[0097]在步骤22中,基于所述定位点扩展设定范围,作为所述第一触发事件在浏览器的当前页面上针对的区域。如图3所示,基于定位点31扩展设定范围形成区域32,将区域32作为所述第一触发事件在当前页面上针对的区域。设定范围根据需要来设置,扩展后形成的区域可以是方形或圆形等。\n[0098]在步骤23中,利用浏览器核心层中当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素,如果是,则执行步骤24,否则,执行步骤26。\n[0099]作为可选的实施方式,步骤23可以由如下子步骤实现。\n[0100]在子步骤231中,查询浏览器核心层中当前页面的渲染树的当前节点,其中渲染树是一种数据结构,具有至少一个节点,每个节点对应一个当前页面的元素的属性,本实施例中可以按照渲染树的节点顺序,从第一个节点开始进行查询,当前节点就是当前被查询的节点。如图4所示,渲染树400包括5个节点,可以从节点41开始依次进行查询。\n[0101]在子步骤232中,确定当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件。\n[0102]在子步骤233中,在当前节点对应的元素在所述区域中且能够响应所述第一触发事件时,记录当前节点对应的元素。\n[0103]在子步骤234中,将当前节点的下一个节点作为当前节点、并重复执行子步骤231,直至记录的元素个数达到两个。\n[0104]进一步,作为可选的实施方式,元素的属性可以包括:在当前页面的位置、显示属性和响应属性。在此基础上,在子步骤232中,可以先根据当前节点对应的元素在当前页面上的位置,判断当前节点对应的元素是否部分或全部在所述区域中,在当前节点对应的元素部分或全部在所述区域中时,再根据当前节点对应的元素的显示属性判断当前节点对应的元素是否可见及是否被其他元素覆盖,在当前节点对应的元素可见且未被其他元素覆盖时,最后根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应所述第一触发事件。\n[0105]进一步,作为可选的实施方式,判断当前节点对应的元素是否能够响应所述第一触发事件,有如下两种可选的方法:\n[0106]方法一,判断当前节点对应的元素自身是否能够响应所述第一触发事件;\n[0107]方法二,判断当前节点的父节点是否注册了所述第一触发事件的响应函数。\n[0108] 在步骤24中,放大显示所述区域。\n[0109]在步骤25中,检测放大后的所述区域中的页面交互的第二触发事件,并基于所述第二触发事件指向的元素响应所述第二触发事件,结束流程。\n[0110]作为可选的实施方式,放大后的所述区域与放大前的所述区域存在对应的映射关系,步骤25可以由如下子步骤实现。\n[0111]在子步骤251中,确定触发第二触发事件的触发手势在放大后的所述区域中的定位点。\n[0112]在子步骤252中,确定所述定位点在放大前的所述区域中的映射位置。\n[0113]在子步骤253中,根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素。\n[0114]在子步骤254中,基于确定出的元素的响应属性响应所述第二触发事件。\n[0115]在步骤26中,如果所述区域中存在一个能够响应所述第一触发事件的元素,基于这一个元素响应所述第一触发事件并结束流程,如果所述区域中不存在能够响应所述第一触发事件的元素,不执行操作并结束流程。\n[0116] 实施例三\n[0117]图5是本发明实施例三中页面交互方法的流程图,该方法应用于终端的浏览器中。本实施例中的终端具有触摸屏,用户可以在触摸屏上执行触摸手势来触发页面交互的触发事件,例如通过触摸屏点击当前页面上的确定按钮,提交当前页面上的信息,或者通过触摸屏点击当前页面上的网页链接,由当前页面跳转到网页链接指示的页面。\n[0118]在步骤51中,确定页面交互的第一触发事件在浏览器的当前页面上针对的区域。\n[0119]作为可选的实施方式,步骤51可以由如下子步骤实现。\n[0120]在子步骤511中,识别触发页面交互的第一触发事件的触摸手势在终端的触摸屏上的定位点。\n[0121]在步骤512中,基于所述定位点扩展设定范围,作为第一触发事件在浏览器的当前页面上针对的区域。设定范围根据需要来设置,扩展后形成的区域可以是方形或圆形等。\n[0122]在步骤52中,查询浏览器核心层中当前页面的渲染树的当前节点。\n[0123]渲染树是一种数据结构,具有至少一个节点,其中每个节点对应一个当前页面的元素的属性。本实施例中可以按照渲染树的节点顺序,从第一个节点开始进行查询,当前节点就是当前被查询的节点。渲染树的结构如图4所示。\n[0124]在步骤53中,确定当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件,如果是,则继续执行步骤54,否则,执行步骤56。\n[0125]作为一种可选的实施方式,元素的属性可以包括:在当前页面上的位置、显示属性和响应属性。\n[0126]基于上述元素的属性的组成,在步骤53中,可以先根据当前节点对应的元素在当前页面上的位置,判断当前节点对应的元素是否部分或全部在所述区域中。如图6所示,假设第一触发事件为通过触摸屏进行单次点击,当前页面600上的“搜索”按钮61的一部分在第一触发事件针对的区域62中,而输入框63的一部分也在第一触发事件针对的区域62中。如果当前节点对应的元素部分或全部在所述区域中,再根据所述当前节点对应的元素的显示属性判断当前节点对应的元素是否可见及是否被其他元素覆盖,如果当前节点对应的元素可见且未被其他元素覆盖,最后根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应所述第一触发事件。\n[0127]在此基础上,根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应第一触发事件,有如下两种可选的方法。\n[0128]方法一,判断当前节点对应的元素自身是否能够响应第一触发事件;\n[0129]方法二,判断当前节点的父节点是否注册了第一触发事件的响应函数。\n[0130] 在步骤54中,记录当前节点对应的元素。\n[0131]在步骤55中,判断已记录的元素个数是否已达到两个,如果是,则执行步骤58,否则,继续执行步骤56。\n[0132]在步骤56中,判断所述渲染树中是否存在其他节点,如果是,执行步骤57,否则,执行步骤60。\n[0133]在步骤57中,将所述当前节点的下一个节点作为所述当前节点、并返回执行步骤52。\n[0134] 在步骤58中,放大显示所述区域。\n[0135]在步骤59中,检测放大后的所述区域中的页面交互的第二触发事件,并基于第二触发事件指向的元素所述第二触发事件,结束流程。\n[0136]作为可选的实施方式,放大后的所述区域与放大前的所述区域存在对应的映射关系,步骤59可以由如下子步骤实现。\n[0137]在子步骤591中,确定触发第二触发事件的触发手势在放大后的所述区域中的定位点。\n[0138]在子步骤592中,确定所述定位点在放大前的所述区域中的映射位置。\n[0139]在子步骤593中,根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素。\n[0140]在子步骤594中,基于确定出的元素的响应属性响应所述第二触发事件。\n[0141]在步骤60中,如果所述区域中存在一个能够响应所述第一触发事件的元素,基于这一个元素响应所述第一触发事件并结束流程,如果所述区域中不存在能够响应所述第一触发事件的元素,不执行操作并结束流程。\n[0142]实施例四\n[0143]图7是本发明实施例四中页面交互方法的流程图,该方法应用于终端的浏览器中。本实施例中的终端具有触摸屏,用户可以在触摸屏上执行触摸手势来触发当前页面的页面交互的触发事件,例如通过触摸屏点击当前页面上的确定按钮,提交当前页面上的信息,或者通过触摸屏点击当前页面上的网页链接,由当前页面跳转到所述网页链接指示的页面。\n[0144]在步骤71中,确定页面交互的第一触发事件在所述浏览器的当前页面上针对的区域。\n[0145]作为可选的实施方式,步骤71可以由如下子步骤实现。\n[0146]在子步骤711中,识别触发页面交互的第一触发事件的触摸手势在终端的触摸屏上的定位点。\n[0147]在步骤712中,基于所述定位点扩展设定范围,作为第一触发事件在浏览器的当前页面上针对的区域。设定范围根据需要来设置,扩展后形成的区域可以是方形或圆形等。\n[0148]在步骤72中,利用浏览器核心层中当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应第一触发事件的元素,如果是,则执行步骤73,否则,执行步骤75。\n[0149]作为可选的实施方式,步骤72可以由如下子步骤实现。\n[0150]在子步骤721中,查询浏览器核心层中当前页面的渲染树的当前节点,其中渲染树是一种数据结构,具有至少一个节点,每个节点对应一个当前页面的元素的属性,本实施例中可以按照渲染树的节点顺序,从第一个节点开始进行查询,当前节点就是当前被查询的节点。渲染树的结构如图4所示。\n[0151]在子步骤722中,确定当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件。\n[0152]在子步骤723中,在当前节点对应的元素在所述区域中且能够响应所述第一触发事件时,记录当前节点对应的元素。\n[0153]在子步骤724中,将当前节点的下一个节点作为当前节点、并重复执行子步骤721,直至记录的元素个数达到两个。\n[0154]在步骤73中,在当前页面上显示浮动窗口,浮动窗口中显示放大后的所述区域。\n[0155]在步骤74中,检测浮动窗口中的页面交互的第二触发事件,并基于第二触发事件指向的元素响应第二触发事件,结束流程。\n[0156]作为可选的实施方式,浮动窗口与放大前的所述区域存在对应的映射关系,步骤74可以由如下子步骤实现。\n[0157]在子步骤741中,确定触发第二触发事件的触发手势在浮动窗口中的定位点。\n[0158]在子步骤742中,确定所述定位点在放大前的所述区域中的映射位置。\n[0159]在子步骤743中,根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素。\n[0160]在子步骤744中,基于确定出的元素的响应属性响应所述第二触发事件。\n[0161]如图8所示,浮动窗口 81中放大显示搜索框82和搜索按钮83,用户可以在浮动窗口81中用触摸手势精确选择出搜索框82或搜索按钮84,当用户选择搜索框82时,浏览器按照处理非多义性点击的方式在搜索框82中显示输入起始符,此时用户可以在搜索框82中输入字符,当用户选择搜索按钮84时,浏览器按照处理非多义性点击的方式,执行搜索按钮84对应的搜索操作。\n[0162]作为可选的实施方式,还可以将放大后的所述区域显示为动态侧边栏。\n[0163]在步骤75中,如果所述区域中存在一个能够响应所述触发事件的元素,基于这一个元素响应所述触发事件并结束流程,如果所述区域中不存在能够响应所述触发事件的元素,不执行操作并结束流程。\n[0164] 实施例五\n[0165]图9是本发明实施例五中页面交互装置的结构示意图,该装置位于终端一侧,该终端具有触摸屏。\n[0166] 本实施例中的装置包括:第一确定单元91、第二确定单元92和显示单元93。\n[0167]第一确定单元91,用于确定页面交互的第一触发事件在浏览器的当前页面上针对的区域。\n[0168]第二确定单元92,用于利用浏览器核心层中所述当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应第一触发事件的元素。\n[0169] 显示单元93,用于在第二确定单元92确定所述区域中存在至少两个能够响应第一触发事件的元素时,放大显示所述区域。\n[0170]可见,本实施例的页面交互装置中,当利用浏览器核心层中当前页面上的元素的属性,确定页面交互的第一触发事件在当前页面上针对的区域中存在至少两个能够响应所述第一触发事件的元素时,即确定触发所述第一触发事件的触摸操作为多义性操作时,放大显示所述区域,方便用户在放大显示后的所述区域中利用触摸手势进行精确的选择。另一方面,由于浏览器核心层中记录了当前页面中所有元素的属性,因此本实施例可以针对链接、按钮、输入框、下拉框、单选选项和多选选项等各种类型的元素,实现用户的精确选择。\n[0171]下面的实施例六至八分别给出第一确定单元91和第二确定单元92的内部架构的举例。\n[0172]实施例六\n[0173]图10是本发明实施例六中页面交互装置的结构示意图,该装置应用于终端一侧,该终端具有触摸屏。\n[0174]图10所示的装置包括:第一确定单元101、第二确定单元102和显示单元103。\n[0175]第一确定单元1I包括:识别模块1011和确定模块1012。\n[0176]识别模块1011,用于识别触发第一触发事件的触摸手势在终端的触摸屏上的定位点。\n[0177]确定模块1012,用于基于所述定位点扩展设定范围,作为第一触发事件在浏览器的当前页面上针对的区域。\n[0178]第二确定单元102,用于利用浏览器核心层中当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应第一触发事件的元素。\n[0179] 显示单元103,用于在第二确定单元102确定所述区域中存在至少两个能够响应第一触发事件的元素时,放大显示所述区域。\n[0180] 作为一种可选的实施方式,显示单元103可以在所述当前页面上显示浮动窗口,浮动窗口中显示放大后的所述区域;或者,在当前页面上显示动态侧边栏,动态侧边栏中显示放大后的所述区域。\n[0181]作为一种可选的实施方式,图10所示的装置中还可以包括:检测单元104和响应单元 105。\n[0182]检测单元104,用于检测放大后的所述区域中的页面交互的第二触发事件;\n[0183]响应单元105,用于基于第二触发事件指向的元素响应第二触发事件。\n[0184] 进一步,响应单元105中可以包括:第一确定单元1051、第二确定模块1052、第三确定模块1053和响应模块1054。\n[0185]第一确定模块1051,用于确定第二触发事件在放大后的所述区域中的定位点。\n[0186]第二确定模块1052,用于确定所述定位点在放大前的所述区域中的映射位置。\n[0187]第三确定模块1053,用于根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素。\n[0188]响应模块1054,用于基于第三确定模块1053确定出的元素的属性响应第二触发事件。\n[0189]实施例七\n[0190]图11是本发明实施例七中页面交互装置的结构示意图,该装置应用于终端一侧,该终端具有触摸屏。\n[0191]图11所示的装置中包括:第一确定单元111、第二确定单元112和显示单元113。\n[0192]第一确定单元111,用于确定页面交互的第一触发事件在浏览器的当前页面上针对的区域。\n[0193] 第二确定单元112包括:查询模块1121、确定模块1122和记录模块1123。\n[0194]查询模块1121,用于查询浏览器核心层中当前页面的渲染树的当前节点;其中,渲染树具有至少一个节点,每个节点对应一个所述当前页面的元素的属性。\n[0195]确定模块1122,用于确定当前节点对应的元素是否在所述区域中且能够响应第一触发事件。\n[0196]记录模块1123,用于在确定模块1122确定出当前节点对应的元素在所述区域中且能够响应第一触发事件时,记录当前节点对应的元素,并触发查询模块1121将当前节点的下一个节点作为当前节点重复执行查询的操作,直至记录的元素个数达到两个。\n[0197]作为一种可选的实施方式,记录模块1123的上述功能可以具体分为如下两种:\n[0198]功能一,在记录当前节点对应的元素之后,判断已记录的元素个数是否已达到两个,在已记录的元素个数已达到两个时,触发显示单元113执行放大显示所述区域的操作,并在已记录的元素个数未达到两个时,判断渲染树中是否存在其他节点,在渲染树中存在其他节点时触发查询模块1121将当前节点的下一个节点作为当前节点重复执行查询的操作,并在渲染树中不存在其他节点时根据已记录元素的个数执行操作,具体包括在已记录的元素为一个时,触发终端中执行响应操作的功能单元基于这一个元素响应第一触发事件,在已记录的元素为零时不执行操作;\n[0199]功能二,在确定模块1122确定出当前节点对应的元素不在所述区域中和/或不能够响应第一触发事件时,判断渲染树中是否存在其他节点,在渲染树中存在其他节点时触发查询模块1121将当前节点的下一个节点作为当前节点重复执行查询的操作,并在渲染树中不存在其他节点时根据已记录元素的个数执行操作,具体包括在已记录的元素为一个时,触发终端中执行响应操作的单元基于这一个元素响应第一触发事件,在已记录的元素为零时不执行操作。\n[0200]作为一种可选的实施方式,元素的属性可以包括:在所述当前页面上的位置、显示属性和响应属性。在此基础上,确定模块1122可以包括:第一判断子模块11221、第二判断子模块11222和第三判断子模块11223。\n[0201]第一判断子模块11221,用于根据当前节点对应的元素在当前页面上的位置,判断当前节点对应的元素是否部分或全部在所述区域中。\n[0202]第二判断子模块11222,用于在第一判断子模块11221判断出当前节点对应的元素部分或全部在所述区域中时,根据当前节点对应的元素的显示属性判断当前节点对应的元素是否可见及是否被其他元素覆盖。\n[0203]第三判断子模块11223,用于在第二判断子模块11222判断出当前节点对应的元素可见且未被其他元素覆盖时,根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应第一触发事件。\n[0204]作为一种可选的实施方式,第三判断子模块11223可以根据当前节点对应的元素的响应属性,判断当前节点对应的元素自身是否能够响应第一触发事件,或者,判断当前节点的父节点是否注册了第一触发事件的响应函数。\n[0205] 显示单元113,用于在第二确定单元112确定所述区域中存在至少两个能够响应第一触发事件的元素时,放大显示所述区域。\n[0206] 作为一种可选的实施方式,显示单元113可以在所述当前页面上显示浮动窗口,浮动窗口中显示放大后的所述区域;或者,在当前页面上显示动态侧边栏,动态侧边栏中显示放大后的所述区域。\n[0207]作为一种可选的实施方式,图11所示的装置中还可以包括:检测单元114和响应单元 115。\n[0208]检测单元114,用于检测放大后的所述区域中的页面交互的第二触发事件;\n[0209]响应单元115,用于基于第二触发事件指向的元素响应第二触发事件。\n[0210]进一步,响应单元115中可以包括:第一确定单元1151、第二确定模块1152、第三确定模块1153和响应模块1154。\n[0211]第一确定模块1151,用于确定第二触发事件在放大后的所述区域中的定位点。\n[0212]第二确定模块1152,用于确定所述定位点在放大前的所述区域中的映射位置。\n[0213]第三确定模块1153,用于根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素。\n[0214]响应模块1154,用于基于第三确定模块1153确定出的元素的属性响应第二触发事件。\n[0215]实施例八\n[0216]请参考图12,其示出了本发明实施例八中一种终端的结构示意图。该终端可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(RAM)和只读存储器(ROM),用于存储数据和信息的存储器,用于存储表格、目录或其他数据结构的数据库,I/O设备,界面,天线等。具体来讲:\n[0217] 终端1200可以包括RF(Rad1 Frequency,射频)电路1210、包括有一个或多个计算机可读存储介质的存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、短距离无线传输模块1270、包括有一个或者多个处理核心的处理器1280、以及电源1290等部件。本领域技术人员可以理解,图12中示出的设备结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:\n[0218] RF电路1210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者多个处理器1280处理;另外,将涉及上行的数据发送给基站。通常,RF电路1210包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(L0W Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1210还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communicat1n,全球移动通讯系统)、GPRS(General Packet Rad1 Service,通用分组无线服务)、CDMA(CodeDivis1n Multiple Access,码分多址)、WCDMA(Wideband Code Divis1n MultipleAccess ,宽带码分多址)、LTE(Long Term Evolut1n ,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。\n[0219] 存储器1220可用于存储软件程序以及模块。处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1200的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1220还可以包括存储器控制器,以提供处理器1280和输入单元1230对存储器1220的访问。\n[0220]输入单元1230可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1230可包括触敏表面1231以及其他输入设备1232。触敏表面1231,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1231上或在触敏表面1231附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1280,并能接收处理器1280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1231。除了触敏表面1231,输入单元1230还可以包括其他输入设备1232。具体地,其他输入设备1232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。\n[0221]显示单元1240可用于显示由用户输入的信息或提供给用户的信息以及终端1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1240可包括显示面板1241,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、0LED(0rganic Light-Emitting D1de,有机发光二极管)等形式来配置显示面板1241。进一步的,触敏表面1231可覆盖在显示面板1241之上,当触敏表面1231检测到在其上或附近的触摸操作后,传送给处理器1280以确定触摸事件的类型,随后处理器1280根据触摸事件的类型在显示面板1241上提供相应的视觉输出。虽然在图12中,触敏表面1231与显示面板1241是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面1231与显示面板1241集成而实现输入和输出功能。\n[0222] 终端1200还可包括至少一种传感器1250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1241的亮度,接近传感器可在终端1200移动到耳边时,关闭显示面板1241和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。\n[0223] 音频电路1260、扬声器1261,传声器1262可提供用户与终端1200之间的音频接口。音频电路1260可将接收到的音频数据转换后的电信号,传输到扬声器1261,由扬声器1261转换为声音信号输出;另一方面,传声器1262将收集的声音信号转换为电信号,由音频电路1260接收后转换为音频数据,再将音频数据输出处理器1280处理后,经RF电路1210以发送给另一终端,或者将音频数据输出至存储器1220以便进一步处理。音频电路1260还可能包括耳塞插孔,以提供外设耳机与终端1200的通信。\n[0224] 短距离无线传输模块1270可以是WIFKwireless fidelity,无线保真)模块或者蓝牙模块等。终端1200通过短距离无线传输模块1270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了短距离无线传输模块1270,但是可以理解的是,其并不属于终端1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。\n[0225]处理器1280是终端1200的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器\n1220内的数据,执行终端1200的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器1280可包括一个或多个处理核心;优选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。\n[0226] 终端1200还包括给各个部件供电的电源1290(比如电池),优选的,电源可以通过电源管理系统与处理器1280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1290还可以包括一个或多个的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。\n[0227]尽管未示出,终端1200还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端1200的显示单元是触摸屏显示器。\n[0228]本发明实施例提供一种终端,其结构可以参考图12中给出的终端1200的结构,除了包括一个或多个处理器,还包括存储器及一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功會K:\n[0229]确定页面交互的第一触发事件在浏览器的当前页面上针对的区域;\n[0230]利用所述浏览器核心层中所述当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素;\n[0231]如果确定所述区域中存在至少两个能够响应所述第一触发事件的元素,放大显示所述区域。\n[0232]作为一种可选的实施方式,所述利用所述浏览器的核心层中所述当前页面上的元素的属性,确定所述区域中是否存在至少两个能够响应所述第一触发事件的元素,包括:\n[0233]查询所述浏览器核心层中所述当前页面的渲染树的当前节点;其中,所述渲染树具有至少一个节点,每个所述节点对应一个所述当前页面的元素的属性;\n[0234]确定所述当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件;\n[0235]如果所述当前节点对应的元素在所述区域中且能够响应所述第一触发事件,记录所述当前节点对应的元素;\n[0236]将所述当前节点的下一个节点作为当前节点、并重复执行所述查询的步骤,直至记录的元素个数达到两个。\n[0237]进一步,所述元素的属性包括:在所述当前页面上的位置、显示属性和响应属性;\n[0238]所述确定所述当前节点对应的元素是否在所述区域中且能够响应所述第一触发事件,包括:\n[0239]根据当前节点对应的元素在所述当前页面上的位置,判断当前节点对应的元素是否部分或全部在所述区域中;\n[0240]如果当前节点对应的元素部分或全部在所述区域中,根据当前节点对应的元素的显示属性判断当前节点对应的元素是否可见及是否被其他元素覆盖;\n[0241]如果当前节点对应的元素可见且未被其他元素覆盖,根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应所述第一触发事件。\n[0242]进一步,所述根据当前节点对应的元素的响应属性判断当前节点对应的元素是否能够响应所述第一触发事件,包括:\n[0243]根据当前节点对应的元素的响应属性,判断当前节点对应的元素自身是否能够响应所述第一触发事件,或者,判断当前节点的父节点是否注册了所述第一触发事件的响应函数。\n[0244]作为一种可选的实施方式,所述确定页面交互的第一触发事件在所述浏览器的当前页面上针对的区域,包括:\n[0245]识别触发所述第一触发事件的触摸手势在所述终端的触摸屏上的定位点;\n[0246]基于所述定位点扩展设定范围,作为所述第一触发事件在所述浏览器的当前页面上针对的区域。\n[0247]作为一种可选的实施方式,所述放大显示所述区域,包括:\n[0248]在所述当前页面上显示浮动窗口,所述浮动窗口中显示放大后的所述区域;\n[0249] 或者,在所述当前页面上显示动态侧边栏,所述动态侧边栏中显示放大后的所述区域。\n[0250]作为一种可选的实施方式,所述方法还包括:\n[0251]检测放大后的所述区域中的页面交互的第二触发事件;\n[0252]基于所述第二触发事件指向的元素响应所述第二触发事件。\n[0253]进一步,所述元素的属性包括:在当前页面上的位置和响应属性;\n[0254]所述基于所述第二触发事件指向的元素响应所述触发事件,包括:\n[0255]确定触发所述第二触发事件的触摸手势在放大后的所述区域中的定位点;\n[0256]确定所述定位点在放大前的所述区域中的映射位置;\n[0257]根据放大前的所述区域中的元素的位置,确定所述区域中与所述映射位置重合的元素;\n[0258]基于确定出的元素的响应属性响应所述第二触发事件。\n[0259]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。\n[0260]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。\n[0261]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2016-09-28
- 2014-10-08
著录事项变更
申请人由北京小米科技有限责任公司变更为小米科技有限责任公司
地址由100102 北京市朝阳区望京西路甲50号卷石天地大厦A座12层变更为100102 北京市朝阳区望京西路甲50号卷石天地大厦A座12层
- 2013-12-18
实质审查的生效
IPC(主分类): G06F 3/0488
专利申请号: 201310316710.0
申请日: 2013.07.25
- 2013-11-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-01-20
|
2008-07-18
| | |
2
| |
2012-02-22
|
2011-09-30
| | |
3
| |
2012-12-19
|
2012-09-02
| | |
4
| |
2010-09-15
|
2010-04-01
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |