CN103902057B - 在移动终端设备中进行网页输入的方法及装置 - Google Patents
在移动终端设备中进行网页输入的方法及装置 Download PDFInfo
- Publication number
- CN103902057B CN103902057B CN201410126392.6A CN201410126392A CN103902057B CN 103902057 B CN103902057 B CN 103902057B CN 201410126392 A CN201410126392 A CN 201410126392A CN 103902057 B CN103902057 B CN 103902057B
- Authority
- CN
- China
- Prior art keywords
- input
- webpage
- input frame
- character
- party
- 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.)
- Active
Links
Landscapes
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种在移动终端设备中进行网页输入的方法及装置,其中所述方法包括:当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图;在移动终端设备中创建具有隐藏属性的系统输入框,并将第三方键盘视图与所述系统输入框相关联;接收用户通过所述第三方键盘视图输入的字符,通过第三方输入法软件开发工具包处理接收到的用户输入字符,并将处理后得到的目标字符输入到所述系统输入框中;获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。通过本方法,可以解决传统的利用第三方输入法软件进行网页输入时出现的键盘视图闪现,输入文字错位,字体等与网页样式不一致等问题。
Description
技术领域
本发明涉及输入法技术领域,具体涉及在移动终端设备中进行网页输入的方法及装置。
背景技术
随着移动通信技术的不断发展和移动通信终端设备制造技术的不断提高,移动通信终端设备已经走向了智能化,并且得到了迅速的普及。智能化的移动通信终端设备,已经成为不同技术领域的尖端技术相结合的科技产物。
移动终端设备制造技术以及设备硬件规格的提高,使得移动终端设备已经越来越智能化,现在的移动终端设备,除了能够实现各种通讯功能,还可以在搭载功能复杂操作系统,从而基于操作系统的支持运行各种软件应用,在移动终端设备中运行功能丰富的应用软件,为用户提供了更加丰富的服务,浏览器便是在智能化移动终端设备上运行的应用软件的一种,用户可以通过移动终端设备,方便的接入互联网,浏览网页信息。
在移动终端设备中使用浏览器时,经常需要向网页中输入信息,如使用搜索引擎网页搜索信息时,需要输入搜索关键词;或者在登录页面输入用户名和密码等等。由于移动终端设备中网页输入的特殊性,网页输入并不能直接使用第三方输入法,要使用第三方输入法进行网页输入,现有技术是使用透明的系统输入框覆盖在要进行输入的网页输入框上,将用户的输入内容先输入到系统输入框中。在用户输入完成后,再将输入内容从系统输入框输入到网页输入框中。由于系统输入框位置与网页输入框基本相同,从而造成了使用第三方输入法在网页中输入文字的表象。然而这种实现方式下,容易造成输入过程中键盘视图的闪现,输入文字的位置错位,字体等与网页不一致,输入内容缺乏与服务器的互动等一系列问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的在移动终端设备中进行网页输入的方法及在移动终端设备中进行网页输入的装置。
依据本发明的一个方面,提供了一种在移动终端设备中进行网页输入的方法,包括:
当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图;
在移动终端设备中创建具有隐藏属性的系统输入框,并将所述第三方键盘视图与所述系统输入框相关联;
接收用户通过所述第三方键盘视图输入的字符,通过第三方输入法软件开发工具包处理接收到的用户输入字符,并将处理后得到的目标字符输入到所述系统输入框中;
获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
可选地,所述获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中,包括:
利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
可选地,还包括:
对所述系统输入框接收到的字符进行实时的监控;
所述获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中,包括:
一旦监控到所述系统输入框中接收到字符,或者所接收到字符发生了改变,则将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
可选地,所述当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图,包括:
对用户在移动设备的网页中的输入触发行为进行监控;
当监控到发生所述输入触发行为时,使用第三方键盘视图覆盖系统预置键盘视图。
可选地,所述当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图,包括:
遍历移动终端设备中的程序视图,在所述程序视图中确定所述系统预置键盘视图,并将所述系统预置键盘视图设置为隐藏;
通过所述第三方输入法软件开发工具包打开所述第三方键盘视图,并覆盖所述系统预置键盘视图。
可选地,所述利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中,包括:
利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码修改所述网页焦点输入框对应的网页元素的属性值,通过将所述属性值修改为所述目标字符,将所述目标字符注入到所述网页焦点输入框中。
可选地,还包括:
在将所述目标字符注入到所述网页焦点输入框中后,修正所述网页焦点输入框中光标的当前位置。
可选地,还包括:
模拟在进行网页输入过程中的超文本标记语言HTML事件,以便网页或网页服务器根据所述HTML事件做出响应。
根据本发明的另一方面,提供了一种在移动终端设备中进行网页输入的装置,包括:
视图覆盖单元,用于当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图;
输入框处理单元,用于在移动终端设备中创建具有隐藏属性的系统输入框,并将所述第三方键盘视图与所述系统输入框相关联;
输入字符处理单元,用于接收用户通过所述第三方键盘视图输入的字符,通过第三方输入法软件开发工具包处理接收到的用户输入字符,并将处理后得到的目标字符输入到所述系统输入框中;
字符注入单元,用于获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
可选地,所述字符注入单元具体用于:
利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
可选地,还包括:
输入框监控单元,用于对所述系统输入框接收到的字符进行实时的监控;
所述字符注入单元,包括:
第一字符注入子单元,用于一旦监控到所述系统输入框中接收到字符,或者所接收到字符发生了改变,则将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
可选地,所述视图覆盖单元,包括:
输入监控子单元,用于对用户在移动设备的网页中的输入触发行为进行监控;
第一视图覆盖子单元,用于当监控到发生所述输入触发行为时,使用第三方键盘视图覆盖系统预置键盘视图。
可选地,所述视图覆盖单元,包括:
预置键盘隐藏子单元,用于遍历移动终端设备中的程序视图,在所述程序视图中确定所述系统预置键盘视图,并将所述系统预置键盘视图设置为隐藏;
第二视图覆盖子单元,用于通过所述第三方输入法软件开发工具包打开所述第三方键盘视图,并覆盖所述系统预置键盘视图。
可选地,所述字符注入单元,包括:
第二字符注入子单元,用于利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码修改所述网页焦点输入框对应的网页元素的属性值,通过将所述属性值修改为所述目标字符,将所述目标字符注入到所述网页焦点输入框中。
可选地,还包括:
光标修正单元,用于在将所述目标字符注入到所述网页焦点输入框中后,修正所述网页焦点输入框中光标的当前位置。
可选地,还包括:
输入事件模拟单元,用于模拟在进行网页输入过程中的超文本标记语言HTML事件,以便网页或网页服务器根据所述HTML事件做出响应。
根据本发明的在移动终端设备中进行网页输入的方法,可以在用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图,以便用户使用第三方键盘视图进行输入;进而,在移动终端设备中创建具有隐藏属性的系统输入框,并将第三方键盘视图与系统输入框相关联;接收用户通过第三方键盘视图输入的字符,并将处理后得到的目标字符输入到系统输入框中,获取网页焦点输入框,并将系统输入框中的目标字符,注入到网页焦点输入框中。通过具有隐藏属性的系统输入框,将该隐藏属性的输入框作为用户输入字符的容器,并不会夺取网页输入框的焦点,也就没有了焦点来回转换的问题,从而避免了输入法的键盘视图再次弹出弹出造成的键盘视图闪现的问题。所输入的文字显示在网页焦点输入框中,位置以及字体大小都是由网页确定的,因此不会出现文字错位,样式与网页不一致等问题。
进一步的,本发明还能够对具有隐藏属性的系统输入框接收到的字符进行实时的监控,一旦监控到系统输入框中接收到字符,或者所接收到的字符发生了改变,就通过脚本代码将系统输入框中的目标字符注入到网页焦点输入框中,这样,无论是系统输入框中接收到单个字符,还是接收到多个字符,或者接收到的字符发生了改变,都可以将字符实时的注入到网页输入框中,网页输入框实时接收到用户输入的内容,可以根据用户的逐字输入实现与页面或者服务器的实时交互。解决了现有输入技术中,在进行网页输入的过程中无法根据输入内容与页面或者服务器应用进行交互的问题。
再进一步的,该方法中还模拟了在进行网页输入过程中的超文本标记语言HTML事件,网页或网页服务器根据HTML事件做出响应。在进行网页输入的过程中,通过模拟诸如keydown、keypress、keyup、change和input等HTML事件,使监听这些事件的页面或者服务器应用能够根据这些模拟的HTML事件实时地做出对应的响应。解决了现有输入技术中,在进行网页输入的过程中无法根据实时发生的HTML事件与页面或者服务器应用进行交互的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的在移动终端设备中进行网页输入的方法的流程图;
图2示出了根据本发明一个实施例的在移动终端设备中进行网页输入的方法的应用示意图;
图3示出了根据本发明一个实施例的在移动终端设备中进行网页输入的装置的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
请参照图1,示出了本发明实施例提供的在移动终端设备中进行网页输入的方法的流程图,如图1所示,该方法可以包括以下步骤。
S110:当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图;
由于移动终端设备中操作系统或者某些应用的封闭性,在移动终端设备的某些应用中进行输入时,并不能够直接调用第三方输入法。例如在移动终端设备的浏览器应用中,当用户进行网页输入时,操作系统不会调用第三方输入法,而只调用系统内置的输入法,因此系统不会弹出第三方键盘视图,而只弹出系统预置键盘视图。如果要使用第三方输入法进行网页输入,常常需要对在移动终端设备中进行输入的流程做一些特殊的处理。在本发明实施例提供的方法中,可以在用户使用移动终端设备进行网页输入时,首先利用第三方键盘视图,覆盖系统预置的键盘视图。
在移动终端设备所搭载的操作系统中,通常会预安装有至少一种输入法,这种预安装的输入法可以是系统内置的输入法,系统内置的输入法可以在移动终端设备中的几乎所有的应用中调用。由于移动终端设备通常不会外接实体键盘设备,而是在触屏等显示设备中模拟和提供虚拟的键盘,在移动终端设备中使用输入功能时,会在屏幕上显示虚拟键盘的视图,系统内置输入法对应的是系统预置的键盘视图。而第三方输入法通常会调用其对应的,不同于系统预置键盘视图的第三方键盘视图。在使用第三方输入进行网页输入时,可以使用第三方键盘视图替换系统预置键盘视图,使用户可以通过操作第三方键盘视图进行网页输入。
在使用浏览器浏览网页时,如果不触发输入功能,一般情况下不会显示键盘视图,以便用户能够使用更多的屏幕空间浏览信息。在使用输入功能时,实时地弹出和显示键盘视图。具体在使用第三方键盘视图覆盖系统预置键盘视图时,首先可以对用户在移动设备的网页中的输入触发行为进行监控,例如用户在网页的输入框中进行点击时,通常会触发键盘弹出的系统通知,可以对键盘弹出的系统通知进行监控,通过监控键盘弹出通知,得知用户开始输入。当监控到发生类似的输入触发行为时,使用第三方键盘视图覆盖系统预置键盘视图。另外,具体在使用第三方键盘视图覆盖系统预置键盘视图时,可以遍历移动终端设备中的程序视图,在移动终端设备的所有程序视图中确定出系统预置键盘视图,并将系统预置键盘视图设置为隐藏。具体实现时,可以通过递归函数遍历移动终端设备中的程序视图,并根据各视图的类型或者属性信息确定其中的系统预置键盘视图。进而,通过第三方输入法的第三方输入法软件开发工具包SDK打开第三方键盘视图,并将该第三方键盘视图放到系统预置键盘视图的上层,此时用户只看到第三方的键盘视图,从而完成以第三方键盘视图覆盖系统预置键盘视图。
在这个过程中,第三方键盘视图的显示位置可以与原系统预置的键盘视图一致,或根据系统预置键盘视图的位置获得。具体的,可以在监控到网页输入被触发,并确定系统预置键盘视图的同时,捕捉系统预置键盘视图的坐标,从而在系统预置键盘视图的坐标处显示第三方键盘视图,或者对系统预置键盘视图的坐标进行调整计算后,生成第三方键盘视图的显示坐标,进而确定第三方键盘视图的显示位置。
S120:在移动终端设备中创建具有隐藏属性的系统输入框,并将所述第三方键盘视图与所述系统输入框相关联;
现有技术在进行网页输入时,使用透明的系统输入框覆盖网页输入框,与现有技术不同,本发明实施例提供的方法中,在以第三方键盘视图覆盖系统预置键盘视图后,在移动终端设备中创建的是一个具有隐藏属性的系统输入框,并将第三方键盘视图与所创建的系统输入框相关联,键盘视图接收到的输入字符可以输入到所创建的隐藏属性的系统输入框中。现有技术中使用透明的系统输入框覆盖网页输入框,在输入的过程中,网页输入框的输入焦点会被强制转换到透明的系统输入框中,在输入完成后,输入焦点再转移会网页输入框,这样就造成了第三方输入法键盘视图的闪现问题,影响用户的输入。相比较现有技术,本发明实施例提供的方法中创建了具有隐藏属性的系统输入框,将该隐藏属性的输入框作为用户输入字符的容器,并不会夺取网页输入框的焦点,也就没有了焦点来回转换的问题,从而避免了输入法的键盘视图再次弹出造成的键盘视图闪现的问题。
S130:接收用户通过所述第三方键盘视图输入的字符,通过第三方输入法软件开发工具包处理接收到的用户输入字符,并将处理后得到的目标字符输入到所述系统输入框中;
在移动终端设备中创建隐藏属性的系统输入框,并与第三方键盘视图相关联后,可以利用该具有隐藏属性的系统输入框,接收和记录用户的输入。这样就可以接收用户通过第三方键盘视图输入的字符,通过第三方输入法软件开发工具包SDK处理接收到的用户输入字符,并将处理后得到的目标字符输入到该具有隐藏属性的系统输入框中。通过第三方SDK处理接收到的用户输入字符,可以是将接收到的用户输入字符转换为目标语言的目标字符的过程,例如当使用的第三方输入法为拼音输入法,而目标语言为中文时,可以通过第三方SDK将用户输入的字母转化为中文语言对应的汉字。通过第三方SDK识别用户的按键,接收按键对应的用户输入字符,并将其转化为对应的文字输入结果,即目标字符,进而将目标字符输入到与第三方键盘视图想关联的系统输入框中。
S140:获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
当在上述具有隐藏属性的系统输入框中接收到目标字符后,相当于通过该系统输入框得到了用户输入,进而将系统输入框中的目标字符注入到网页对应的网页焦点输入框中。具体的,可以利用预置的脚本代码获取网页焦点输入框,并通过脚本代码将系统输入框中的目标字符,注入到网页焦点输入框中。所使用的脚本代码,可以是终端移动设备所支持的语言所编写的脚本代码,如在苹果公司的iOS操作系统中可以支持javascript脚本代码。
在iOS操作系统中,所运行的应用软件常用Obj-C编程语言编码实现,如前述步骤110至步骤130可以通过Obj-C编程语言实现;而在使用浏览器时,浏览器应用与网页之间进行交互时,例如进行网页输入时,可以通过脚本代码注入技术实现。如在本发明实施例提供的方法中,在iOS操作系统中获取网页焦点输入框,以及将目标字符注入到网页焦点输入框中的步骤,可以通过javascript脚本代码来实现。具体的,可以在通过javascript脚本代码获取到网页焦点输入框后,通过javascript脚本代码修改网页焦点输入框对应的网页元素的属性值,通过将网页元素属性值修改为目标字符,将目标字符注入到网页焦点输入框中。如通过javascript脚本代码修改HTML的input元素或者textarea元素的属性值,可以达到将目标字符注入到网页焦点输入框中的目的。直接通过脚本代码将目标字符注入到网页焦点输入框,此时的文字显示在网页焦点输入框中,位置以及字体大小都是由网页确定的,因此不会出现文字错位,样式与网页不一致等问题。
需要说明的是,在系统输入框接收用户输入,以及将系统输入框中的目标字符注入到网页焦点输入框中的整个过程,可以是实时进行的,即一旦系统输入框中接收到字符,或者所接收到字符发生了改变,就实时地通过脚本代码将系统输入框中的目标字符,注入到网页焦点输入框中。这样,可以克服现有技术中的另外一个缺陷:在进行网页输入的过程无法根据输入内容与页面或者服务器进行交互。在现有技术中,由于使用了透明的系统输入框覆盖网页输入框的方法,用户的输入内容实际上是先全部输入到透明的系统输入框的,在输入完成前,网页输入框实际上得不到任何输入内容,而是在输入完成后,将用户输入内容一次性注入到网页输入框,因此在用户输入的过程中,无法根据用户逐个输入的字符与页面或者服务器进行交互,也就无法实现相关的功能,例如搜索词逐字联想,邮件地址自动补全等等。而在本发明实施例提供的方法中,对具有隐藏属性的系统输入框接收到的字符进行实时的监控,一旦监控到系统输入框中接收到字符,或者所接收到的字符发生了改变,就将系统输入框中的目标字符注入到网页焦点输入框中,这样,无论是系统输入框中接收到单个字符,还是接收到多个字符,或者接收到的字符发生了改变,都可以将字符实时的注入到网页输入框中,网页输入框可以实时地、逐字符地接收到用户输入的内容,从而实现了根据用户的逐字输入与页面或者服务器的实时交互功能。
此外,在一些页面或者服务器与用户输入的交互应用中,可以根据用户在网页输入时所触发的输入事件进行响应,例如微博应用中会根据实时的输入统计文字的变化,类似的输入事件还包括常见的按键事件,诸如keydown、keypress、keyup、change和input事件等等,由于传统的网页输入方法中,用户的输入内容以及输入焦点是位于透明的系统输入框中的,页面或者服务器对于输入过程中的用户输入事件同样无法响应,也就无法根据这些网页输入过程中的超文本标记语言HTML事件进行交互。在本发明实施例提供的方法中,还可以模拟在进行网页输入过程中的超文本标记语言HTML事件,以便网页或网页服务器根据HTML事件做出响应。在进行网页输入的过程中,通过模拟诸如keydown、keypress、keyup、change和input等HTML事件,使监听这些事件的页面或者服务器应用能够根据这些模拟的事件做出对应的响应。
进一步的,由于通过直接设置网页元素的属性值会导致输入的光标默认放置在文字的最后,因此还需要对输入光标的位置进行调整。在将目标字符注入到网页焦点输入框中后,修正网页焦点输入框中光标的当前位置。具体的,例如在每次用户输入前记录当前的光标位置,在输入后根据输入文字的长度计算出光标应在位置,并通过javascript脚本代码对网页元素设置selection的方式更改光标在当前元素中的位置。
以上对本发明实施例提供的在移动终端设备中进行网页输入的方法进行了详细的介绍,通过该方法,可以在用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图,以便用户使用第三方键盘视图进行输入;进而,在移动终端设备中创建具有隐藏属性的系统输入框,并将第三方键盘视图与所述系统输入框相关联;接收用户通过第三方键盘视图输入的字符,并将处理后得到的目标字符输入到系统输入框中,利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。通过具有隐藏属性的系统输入框,将该隐藏属性的输入框作为用户输入字符的容器,并不会夺取网页输入框的焦点,也就没有了焦点来回转换的问题,从而避免了输入法键盘视图再次弹出造成键盘视图闪现的问题。
为了对本发明实施例提供的在移动终端设备中进行网页输入的方法进行更详细的介绍,以下特举在移动终端设备中进行网页输入的方法的具体应用示例进行说明。如图2所示,为根据本发明一个实施例的在移动终端设备中进行网页输入的方法的应用示意图。
1、用户开始输入:在用户开始输入时,当系统键盘弹出时系统会触发一个键盘弹出的系统通知,可以监控这个通知从而得知用户开始输入;
2、键盘视图覆盖:当用户输入开始时,系统的预置键盘视图随即被弹出供用户输入。该视图被添加到程序的视图中,可以通过遍历程序中的视图可以找到该系统键盘视图,并将该视图设置为隐藏属性。此时第三方输入法SDK为第三方输入法创建一个第三方键盘视图,将该第三方键盘视图显示在键盘视图的上层。这样,用户触发网页输入操作后,并不会看到系统的预置键盘视图,而只看到在移动终端设备上的第三方键盘视图供用户使用,从而完成键盘视图的覆盖;
3、关联输入:第三方键盘视图上的输入与一个隐藏的系统输入框相关联,该隐藏的系统输入框用于接收和记录用户的输入;隐藏属性的输入框作为用户输入字符的容器,在用户界面上并不会被用户看到,而且隐藏属性的输入框并不会夺取网页输入框的焦点,也就没有了焦点来回转换的问题,从而避免了输入法的键盘视图再次弹出造成的键盘视图闪现的问题。
4、用户输入文字:用户在第三方键盘上进行输入,第三方SDK识别用户的按键并将其转化为对应的文字输入结果,并将该结果输入到第3步关联的系统输入框内;
5、注入输入到网页:此步骤主要使用javascript(简称js)技术,为obj-c和js的结合点。上述的4步通过obj-c代码实现了在隐藏的输入框中获得用户的输入。接下来使用js脚本代码获得当前网页中用户输入的焦点输入框,该输入框为HTML的input元素或者textarea元素,通过js脚本代码设置这些元素的value可以将用户的输入填写到对应的网页输入框中。这个过程是实时进行的,即用户每输入一个文字,都会在系统输入框接收和检测到,进而将用户的输入通过js脚本代码导入到网页输入框中,整个过程操作焦点一直停留在网页输入框中;
6、设置光标以及模拟处理HTML事件:由于通过直接设置网页元素的value值会导致输入的光标默认放置在文字的最后,还需要对输入光标的位置进行调整。在用户每次输入前记录当前的光标位置,在输入后根据输入文字的长度计算出光标应在位置,并通过js对元素设置selection的方式更改光标在当前元素中的位置。很多网站会监听网页输入框的某些事件从而针对输入做出一些特殊的处理,还可以在此模拟了HTML事件,比如常见的keydown、keypress、keyup、change和input事件等。
在实际应用中,用户可以在移动终端设备的浏览器应用中使用搜索应用,比如搜狗搜索网页搜索框输入关键词。输入开始时,可以用第三方输入法的键盘覆盖系统键盘视图。用户在此键盘上进行输入搜索关键词“sogou”,输入的内容经过第三方输入法SDK的处理后都放到隐藏的系统输入框中,此时第三方输入法SDK监听输入框内容的变化,如在用户输入“s”时,将该输入通过js脚本代码注入到网页输入框中设置输入光标的位置。网页监听到事件后给出根据输入内容“s”的搜索联想。后面的字母输入依次类推。此外,还可以将用户的输入事件,模拟为网页中的HTML事件并提供给网页,通过模拟诸如keydown、keypress、keyup、change和input等HTML事件,使监听这些事件的页面或者服务器应用能够根据这些模拟的HTML事件实时地做出对应的响应。
通过上述过程,可以做到:
1、输入过程键盘没有闪现:由于整个过程没有改变输入焦点,输入的焦点一直在网页输入框中,此时用户界面中的键盘视图不会多次弹出和收起,也就不会闪现;
2、有服务器或页面应用的互动:由于js脚本代码实时注入输入内容,并且触发了相应的HTML事件,因此可以显示搜索联想等互动内容。这个过程中,Obj-C代码与js脚本代码技术相结合进行实时注入输入内容到网页输入框中,并模拟真实的网页输入HTML事件。
3、不会有文字错位的问题:直接通过js脚本代码将输入注入到输入框,此时的文字显示在网页输入框中,文字位置,字体样式都是由网页确定的,因此不会出现文字错位的问题。使用第三方键盘视图覆盖系统预置键盘视图,使得网页输入框可以一直保持焦点状态。整个过程可以不使用封闭式操作系统或者封闭式应用的私有函数。
与本发明实施例提供的在移动终端设备中进行网页输入的方法相对应,本发明实施例还提供了在移动终端设备中进行网页输入的装置,请参见图3,为本发明实施例提供的在移动终端设备中进行网页输入的装置的示意图,该装置可以包括:
视图覆盖单元310,用于当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图;
输入框处理单元320,用于在移动终端设备中创建具有隐藏属性的系统输入框,并将第三方键盘视图与系统输入框相关联;
输入字符处理单元330,用于接收用户通过第三方键盘视图输入的字符,通过第三方软件输入法开发工具包处理接收到的用户输入字符,并将处理后得到的目标字符输入到系统输入框中;
字符注入单元340,用于获取网页焦点输入框,并将系统输入框中的目标字符,注入到网页焦点输入框中。
其中,字符注入单元340可以利用预置的脚本代码实现,即字符注入单元340,用于利用预置的脚本代码获取网页焦点输入框,并通过脚本代码将系统输入框中的目标字符注入到网页焦点输入框中。
在另一种实现方式下,该在移动终端设备中进行网页输入的装置还可以包括:
输入框监控单元,用于对系统输入框接收到的字符进行实时的监控;
在这种实现方式下,字符注入单元340可以包括:
第一字符注入子单元,用于一旦监控到系统输入框中接收到字符,或者所接收到字符发生了改变,则将系统输入框中的目标字符,注入到网页焦点输入框中。
在又一种实现方式下,视图覆盖单元310可以包括:
输入监控子单元,用于对用户在移动设备的网页中的输入触发行为进行监控;以及,
第一视图覆盖子单元,用于当监控到发生输入触发行为时,使用第三方键盘视图覆盖系统预置键盘视图。
此外,视图覆盖单元310可以包括:
预置键盘隐藏子单元,用于遍历移动终端设备中的程序视图,在程序视图中确定系统预置键盘视图,并将系统预置键盘视图设置为隐藏;以及,
第二视图覆盖子单元,用于通过第三方输入法软件开发工具包SDK打开第三方键盘视图,并覆盖系统预置键盘视图。
另外,字符注入单元340可以包括:
第二字符注入子单元,用于利用预置的脚本代码获取网页焦点输入框,并通过脚本代码修改网页焦点输入框对应的网页元素的属性值,通过将属性值修改为目标字符,将目标字符注入到网页焦点输入框中。
另外,该在移动终端设备中进行网页输入的装置还可以包括:
光标修正单元,用于在将目标字符注入到网页焦点输入框中后,修正网页焦点输入框中光标的当前位置。
在另外一种实现方式下,该在移动终端设备中进行网页输入的装置还可以包括:
输入事件模拟单元,用于模拟在进行网页输入过程中的超文本标记语言HTML事件,以便网页或网页服务器根据HTML事件做出响应。
以上对本发明实施例提供的在移动终端设备中进行网页输入的装置进行了详细的介绍,通过该装置,可以在用户在移动终端设备中进行网页输入时,使用第三方键盘视图替换系统预置键盘视图,以便用户使用第三方键盘视图进行输入;进而,在移动终端设备中创建具有隐藏属性的系统输入框,并将第三方键盘视图与所述系统输入框相关联;接收用户通过第三方键盘视图输入的字符,并将处理后得到的目标字符输入到系统输入框中,利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。通过具有隐藏属性的系统输入框,将该隐藏属性的输入框作为用户输入字符的容器,并不会夺取网页输入框的焦点,也就没有了焦点来回转换的问题,从而避免了键盘视图再次弹出造成的键盘视图闪现的问题。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明所提供的在移动终端设备中进行网页输入的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种在移动终端设备中进行网页输入的方法,其特征在于,包括:
当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图;
在移动终端设备中创建具有隐藏属性的系统输入框,并将所述第三方键盘视图与所述系统输入框相关联;
接收用户通过所述第三方键盘视图输入的字符,通过第三方输入法软件开发工具包处理接收到的用户输入字符,并将处理后得到的目标字符输入到所述系统输入框中;
获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
2.根据权利要求1所述的方法,其特征在于,所述获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中,包括:
利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
3.根据权利要求1所述的方法,其特征在于,还包括:
对所述系统输入框接收到的字符进行实时的监控;
所述获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中,包括:
一旦监控到所述系统输入框中接收到字符,或者所接收到字符发生了改变,则将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
4.根据权利要求1所述的方法,其特征在于,所述当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图,包括:
对用户在移动设备的网页中的输入触发行为进行监控;
当监控到发生所述输入触发行为时,使用第三方键盘视图覆盖系统预置键盘视图。
5.根据权利要求1所述的方法,其特征在于,所述当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图,包括:
遍历移动终端设备中的程序视图,在所述程序视图中确定所述系统预置键盘视图,并将所述系统预置键盘视图设置为隐藏;
通过所述第三方输入法软件开发工具包打开所述第三方键盘视图,并覆盖所述系统预置键盘视图。
6.根据权利要求2所述的方法,其特征在于,所述利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中,包括:
利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码修改所述网页焦点输入框对应的网页元素的属性值,通过将所述属性值修改为所述目标字符,将所述目标字符注入到所述网页焦点输入框中。
7.根据权利要求1-6任一项所述的方法,其特征在于,还包括:
在将所述目标字符注入到所述网页焦点输入框中后,修正所述网页焦点输入框中光标的当前位置。
8.根据权利要求1-6任一项所述的方法,其特征在于,还包括:
模拟在进行网页输入过程中的超文本标记语言HTML事件,以便网页或网页服务器根据所述HTML事件做出响应。
9.一种在移动终端设备中进行网页输入的装置,其特征在于,包括:
视图覆盖单元,用于当用户在移动终端设备中进行网页输入时,使用第三方键盘视图覆盖系统预置键盘视图;
输入框处理单元,用于在移动终端设备中创建具有隐藏属性的系统输入框,并将所述第三方键盘视图与所述系统输入框相关联;
输入字符处理单元,用于接收用户通过所述第三方键盘视图输入的字符,通过第三方输入法软件开发工具包处理接收到的用户输入字符,并将处理后得到的目标字符输入到所述系统输入框中;
字符注入单元,用于获取网页焦点输入框,并将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
10.根据权利要求9所述的装置,其特征在于,所述字符注入单元具体用于:
利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
11.根据权利要求9所述的装置,其特征在于,还包括:
输入框监控单元,用于对所述系统输入框接收到的字符进行实时的监控;
所述字符注入单元,包括:
第一字符注入子单元,用于一旦监控到所述系统输入框中接收到字符,或者所接收到字符发生了改变,则将所述系统输入框中的所述目标字符,注入到所述网页焦点输入框中。
12.根据权利要求9所述的装置,其特征在于,所述视图覆盖单元,包括:
输入监控子单元,用于对用户在移动设备的网页中的输入触发行为进行监控;
第一视图覆盖子单元,用于当监控到发生所述输入触发行为时,使用第三方键盘视图覆盖系统预置键盘视图。
13.根据权利要求9所述的装置,其特征在于,所述视图覆盖单元,包括:
预置键盘隐藏子单元,用于遍历移动终端设备中的程序视图,在所述程序视图中确定所述系统预置键盘视图,并将所述系统预置键盘视图设置为隐藏;
第二视图覆盖子单元,用于通过所述第三方输入法软件开发工具包打开所述第三方键盘视图,并覆盖所述系统预置键盘视图。
14.根据权利要求10所述的装置,其特征在于,所述字符注入单元,包括:
第二字符注入子单元,用于利用预置的脚本代码获取网页焦点输入框,并通过所述脚本代码修改所述网页焦点输入框对应的网页元素的属性值,通过将所述属性值修改为所述目标字符,将所述目标字符注入到所述网页焦点输入框中。
15.根据权利要求9-14任一项所述的装置,其特征在于,还包括:
光标修正单元,用于在将所述目标字符注入到所述网页焦点输入框中后,修正所述网页焦点输入框中光标的当前位置。
16.根据权利要求9-14任一项所述的装置,其特征在于,还包括:
输入事件模拟单元,用于模拟在进行网页输入过程中的超文本标记语言HTML事件,以便网页或网页服务器根据所述HTML事件做出响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410126392.6A CN103902057B (zh) | 2014-03-31 | 2014-03-31 | 在移动终端设备中进行网页输入的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410126392.6A CN103902057B (zh) | 2014-03-31 | 2014-03-31 | 在移动终端设备中进行网页输入的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902057A CN103902057A (zh) | 2014-07-02 |
CN103902057B true CN103902057B (zh) | 2017-02-08 |
Family
ID=50993425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410126392.6A Active CN103902057B (zh) | 2014-03-31 | 2014-03-31 | 在移动终端设备中进行网页输入的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902057B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142981B (zh) * | 2014-07-15 | 2018-02-27 | 百度在线网络技术(北京)有限公司 | 一种移动智能终端中的网址输入方法以及装置 |
CN105630187B (zh) * | 2014-11-07 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 用户终端设备中html页面调用本地键盘的方法及其装置 |
CN106873862A (zh) | 2016-08-23 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种信息输入方法和装置 |
CN106775722A (zh) * | 2016-12-16 | 2017-05-31 | 成都路行通信息技术有限公司 | 一种iOS数据录入UI布局优化方法和系统 |
CN106970717A (zh) * | 2017-03-24 | 2017-07-21 | 海马云(天津)信息技术有限公司 | 服务器文本信息输入的方法和装置 |
CN109388328B (zh) * | 2017-08-09 | 2020-12-11 | 北京搜狗科技发展有限公司 | 一种输入方法、装置和介质 |
CN109460360B (zh) * | 2018-10-29 | 2021-10-15 | 北京云测信息技术有限公司 | 一种增强ios自动化测试输入稳定性和兼容性的方法 |
CN111143867B (zh) * | 2019-12-28 | 2023-01-17 | 飞天诚信科技股份有限公司 | 一种应用于Mac平台的安全输入方法及系统 |
CN111414219B (zh) * | 2020-03-18 | 2023-10-24 | 北京有竹居网络技术有限公司 | 页面输入框的控制方法、装置、电子设备及介质 |
CN112596618A (zh) * | 2020-12-28 | 2021-04-02 | 厦门亿联网络技术股份有限公司 | 一种基于Android平台的远程软键盘输入方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US774339A (en) * | 1904-06-24 | 1904-11-08 | Emmy Sibbald | Collar-fastening device. |
CN101882432A (zh) * | 2010-02-01 | 2010-11-10 | 深圳市同洲电子股份有限公司 | 一种焦点元素显示方法、装置及数字电视接收终端 |
CN102902751A (zh) * | 2012-09-20 | 2013-01-30 | 广州市动景计算机科技有限公司 | 移动终端中的网页输入方法及装置、移动终端 |
-
2014
- 2014-03-31 CN CN201410126392.6A patent/CN103902057B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US774339A (en) * | 1904-06-24 | 1904-11-08 | Emmy Sibbald | Collar-fastening device. |
CN101882432A (zh) * | 2010-02-01 | 2010-11-10 | 深圳市同洲电子股份有限公司 | 一种焦点元素显示方法、装置及数字电视接收终端 |
CN102902751A (zh) * | 2012-09-20 | 2013-01-30 | 广州市动景计算机科技有限公司 | 移动终端中的网页输入方法及装置、移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN103902057A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902057B (zh) | 在移动终端设备中进行网页输入的方法及装置 | |
US9569231B2 (en) | Device, system, and method for providing interactive guidance with execution of operations | |
CN106648535A (zh) | 直播客户端语音输入方法及终端设备 | |
US20100205529A1 (en) | Device, system, and method for creating interactive guidance with execution of operations | |
CN107408010A (zh) | 由电子设备的用户操纵动态推断软件操作的语音命令 | |
CN107070779A (zh) | 一种信息处理方法和装置 | |
CN106445983A (zh) | 一种构造和生成网页的方法及系统 | |
CN106462713B (zh) | 终端的界面显示方法和终端 | |
CN106201177A (zh) | 一种操作执行方法及移动终端 | |
CN110475140A (zh) | 弹幕数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN110069724A (zh) | 应用程序快捷跳转方法、装置、电子设备和存储介质 | |
US10372512B2 (en) | Method and apparatus for automatic processing of service requests on an electronic device | |
CN109814801A (zh) | 应用登录方法、装置、终端及存储介质 | |
Roy Chowdhury et al. | Complementary assistance mechanisms for end user mashup composition | |
CN104133815B (zh) | 输入和搜索的方法及系统 | |
CN102663055A (zh) | 浏览器导航的实现方法、装置及浏览器 | |
WO2015014158A1 (zh) | 更新输入法系统的方法、设备、计算机存储介质和设备 | |
CN110515514A (zh) | 一种数据处理方法、装置及存储介质 | |
WO2023108974A1 (zh) | 一种显示方法和装置、电子设备、存储介质及计算机程序产品 | |
CN103941979B (zh) | 一种在移动设备中输入文字的方法和装置 | |
CN105279431A (zh) | 一种移动设备中操作信息的记录方法、装置和系统 | |
CN104268246B (zh) | 生成访问互联网站点指令脚本的方法及访问方法和装置 | |
CN112306450A (zh) | 信息处理方法、装置 | |
CN117093460A (zh) | 评估方法、装置、电子设备及计算机可读存储介质 | |
US20180357682A1 (en) | Systems and methods for platform agnostic media injection and presentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |