CN106980614B - 一种基于JavaScript扩展的Web页面语音操控实现方法 - Google Patents
一种基于JavaScript扩展的Web页面语音操控实现方法 Download PDFInfo
- Publication number
- CN106980614B CN106980614B CN201610028659.7A CN201610028659A CN106980614B CN 106980614 B CN106980614 B CN 106980614B CN 201610028659 A CN201610028659 A CN 201610028659A CN 106980614 B CN106980614 B CN 106980614B
- Authority
- CN
- China
- Prior art keywords
- label
- event
- webpage
- mark
- text
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于JavaScript扩展的Web页面语音操控实现方法,所述方法包括:Web引擎获得网页地址,调用JavaScript扩展解析网页,获取网页中包含事件属性的标签和超链接标签;获取网页中的所有标签的信息;对每一个标签分配唯一操作标识,形成二元组集合;根据每个标签的标签类型,为每个标签添加对应的操作标识;用户根据网页操作标识说出关键词,将该关键词通过语音引擎解析成文本,将解析出的文本与二元组集合中的标识进行匹配,获取文本对应的匹配标识;Web引擎通过调用JavaScript脚本,触发匹配标识对应的事件函数或超链接跳转。本发明的方法不需要触发额外鼠标点击事件,能够缩短响应时间,提高处理速度,增强用户体验。
Description
技术领域
本发明涉及Web引擎技术领域,具体涉及一种基于JavaScript扩展的Web页面语音操控实现方法。
背景技术
随着语音识别技术的飞速发展,越来越多的Web应用和智能设备集成了语音功能模块,方便了人们的生活。在将语音识别功能加入到网页浏览中的时候,存在的问题是,如何高效地解析网页中的超链接标签,并通过语音控制超链接的跳转进行网页浏览。
在现有的应用中,采取的一般做法是语音引擎的启动与网页的加载同时进行,在获取网页中标签的同时绑定唯一的语音文本标签,在用户说出相应的文本标签后,再计算该文本在设备屏幕上的坐标,并向该坐标发送点击事件实现链接跳转达到网页浏览。
上述方法存在的问题是,在向网页标签发送点击事件之前,需要先计算该标签在屏幕中的坐标,每次当页面发生变化都需要计算一次,这种方法还需要调用***的鼠标点击功能来触发相关操作,而额外向设备申请计算资源和使用***功能,会显著降低超链接的跳转速度,影响用户体验。
发明内容
本发明的目的在于克服目前Web页面实现语音操控时存在的上述问题,提出一种基于JavaScript扩展的Web页面语音操控实现方法,该方法使用JavaScript脚本完成语音控制,不触发额外的鼠标点击事件,无须计算标签所在屏幕坐标,提高了处理速度。
为了实现上述目的,本发明提供了一种基于JavaScript扩展的Web页面语音操控实现方法,所述方法包括:Web引擎获得网页地址,调用JavaScript扩展解析网页,获取网页中包含事件属性的标签和超链接标签;获取网页中的所有标签的信息;对每一个标签分配唯一操作标识,形成二元组集合;根据每个标签的标签类型,为每个标签添加对应的操作标识;用户根据网页操作标识说出关键词,将该关键词通过语音引擎解析成文本,将解析出的文本与二元组集合中的标识进行匹配,获取文本对应的匹配标识;Web引擎通过调用JavaScript脚本,触发匹配标识对应的事件函数或超链接跳转。
上述技术方案中,所述方法具体包括:
步骤1)预先定义实现语音操控的JavaScript脚本,将该脚本注入到WebView中,WebView获得网页地址并加载网页;通过调用JavaScript脚本解析该网页,获取网页中包含事件属性的标签和超链接标签,并用prompt方法携带标签信息以对话框形式在网页中依次弹出;
步骤2)WebView依次捕获用JavaScript脚本中prompt方法产生的对话框,提取出网页中各标签的信息并识别标签类型;对每一个标签分配唯一操作标识,形成二元组集合;
步骤3)根据每个标签的标签类型,在网页中为每个标签添加对应的操作标识;所述操作标识包括:事件、操作目标和用户可视化的描述;
步骤4)用户根据网页操作标识说出关键词,将该关键词通过语音引擎解析成文本,将解析出的文本与二元组集合中的操作标识进行匹配,获取文本对应的匹配标识;
步骤5)Web引擎通过调用JavaScript脚本,触发匹配标识对应的事件函数或超链接跳转。
上述技术方案中,所述步骤1)具体包括:
步骤1-1)预先定义实现语音操控的JavaScript脚本,将该脚本加载到WebView中;
步骤1-2)调用WebView的setWebViewClient方法向WebView注入WebViewClient类对象,并把加载JavaScript脚本的代码添加到类中的onPageFinished方法中;
步骤1-3)当WebView加载网页完毕后即触发onPageFinished方法,调用脚本解析网页,获取网页中包含事件属性的标签和超链接标签,以标签为单位将标签信息传入prompt方法,prompt方法作为从网页向外传递标签信息的媒介,在网页中弹出带有提示信息的对话框。
上述技术方案中,所述步骤2)具体包括:
步骤2-1)JavaScript调用WebView的setWebChromeClient方法注入WebChromeClient类对象,重写类成员函数onJsPrompt,监听网页中的prompt对话框,如果prompt方法弹出提示对话框,WebView依次捕获prompt方法产生的对话框,提取出各标签的id,tag,class和text信息;
步骤2-2)识别每个标签的标签类型:超链接标签和事件属性标签;
步骤2-3)根据每个标签的标签类型,为每个标签生成二元组。
上述技术方案中,所述步骤2-2)中的事件属性标签包括:具有onsubmit事件<Form>标签,具有onplay事件、onplaying事件、onpause事件的<audio>、<embed>、<img>、<object>以及<video>媒体标签,具有onkeydown事件、onclick事件、ondblcick事件的<a>、<body>、<button>、<form>、<img>、<input>、<span>、<table>、<tbody>标签。
上述技术方案中,所述步骤2-2)中的超链接标签指的是具有href属性的<a>标签。
上述技术方案中,所述步骤2-3)的具体实现过程为:
如果标签为超链接标签,生成的二元组为:(超链接标识,超链接),其中超链接标识直接使用标签的text信息;如果标签的类型为事件属性,由于其text信息内容为空,需要对text进行自定义:定义为页面内唯一的事件名字描述标识text;事件属性标签生成的二元组为:(唯一的事件名字描述标识,事件函数)。
上述技术方案中,所述步骤3)的具体实现过程为:
通过JavaScript脚本,将唯一操作标识封装成可见的html代码片段,并将该片段写入到html对应标签的前方、后方或标签内部,向具有事件属性的标签添加text标识。
本发明的优点在于:本发明的方法不需要触发额外鼠标点击事件,能够缩短响应时间,提高处理速度,增强用户体验。
附图说明
图1为本发明的基于JavaScript扩展的Web页面语音操控实现方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明的方法做进一步的说明。
本实施例为:基于Android平台的WebView组件和讯飞语音云的语音识别引擎,实现语音控制网页浏览。
如图1所示,一种基于JavaScript扩展的Web页面语音操控实现方法,所述方法包括:
步骤1)预先定义实现语音操控的JavaScript脚本,将该脚本注入到WebView中,WebView获得网页地址并加载网页;通过调用JavaScript脚本解析该网页,获取网页中包含事件属性的标签和超链接标签;并用prompt方法携带标签信息以对话框形式在网页中依次弹出;具体包括:
步骤1-1)预先定义实现语音操控的JavaScript脚本,将该脚本加载到WebView中;
步骤1-2)调用WebView的setWebViewClient方法向WebView注入WebViewClient类对象,并把加载JavaScript脚本的代码添加到类中的onPageFinished方法中;
步骤1-3)当WebView加载网页完毕后即触发onPageFinished方法,调用JavaScript脚本解析网页,获取网页中包含事件属性的标签和超链接标签,以标签为单位将标签信息传入prompt方法,prompt方法作为从网页向外传递标签信息的媒介,在网页中弹出带有提示信息的对话框;
步骤2)WebView依次捕获用JavaScript脚本中prompt方法产生的对话框,提取出网页中各标签的信息并识别标签类型;对每一个标签分配唯一操作标识,形成二元组集合;体包括:
步骤2-1)JavaScript调用WebView的setWebChromeClient方法注入WebChromeClient类对象,重写类成员函数onJsPrompt,监听网页中的prompt对话框,如果prompt方法弹出提示对话框,WebView依次捕获prompt方法产生的对话框,提取出各标签的id,tag,class和text信息;
步骤2-2)识别每个标签的标签类型:超链接标签和事件属性标签;
所述事件属性标签包括:具有onsubmit事件<Form>标签,具有onplay事件、onplaying事件、onpause事件的<audio>、<embed>、<img>、<object>以及<video>媒体标签,具有onkeydown事件、onclick事件、ondblcick事件的<a>、<body>,<button>,<form>,<img>,<input>,<span><table>,<tbody>等标签。
所述超链接标签指的是具有href属性的<a>标签。
步骤2-3)根据每个标签的标签类型,为每个标签生成二元组;
如果标签为超链接标签,生成的二元组为:(超链接标识,超链接),其中超链接标识直接使用标签的text信息;如果标签的类型为事件属性,由于其text信息内容为空,需要对text进行自定义:需要对text进行自定义:定义为页面内唯一的事件名字描述标识text;事件属性标签生成的二元组为:(唯一的事件名字描述标识,事件函数);
步骤3)根据每个标签的标签类型,在网页中为每个标签添加对应的操作标识;
所述操作标识包括:事件、操作目标和用户可视化的描述;
调用JavaScript脚本改写网页,向具有事件属性的标签添加相关text标识:在不常用标签前方、后方或者内部显示自定义text信息供用户参考;而常用标签(例如网页视频播放窗口的全屏操作等)的标识是默认隐藏的,以节约网页空间;这是因为它们是手动定义的,表示意义明确的常用功能,用户并不需要通过查看标识就能使用;如果用户需要显示这些常用标识,同样可以通过JavaScript为网页中的常用元素添加这些标识。
所述通过JavaScript脚本改写网页的过程为:通过JavaScript脚本,将唯一操作标识封装成可见的html代码片段,并将该片段写入到html对应标签的前方、后方或标签内部。
步骤4)用户根据网页操作标识说出关键词,将该关键词通过语音引擎解析成文本,将解析出的文本与二元组集合中的标识进行匹配,获取文本对应的匹配标识;
在本实施例中,用户说出动作关键词,由讯飞语音云的语音识别引擎将其解析成文本,在预定义的二元组集合的标识项中进行遍历匹配,并判断匹配到的标识类型:a)匹配到的标识是操作命令(例如刷新、前进后退、网页移动等),由WebView调用相应函数执行相应控制动作;b)匹配标识文本是超链接文本,通过JavaScript向对应超链接标签发送跳转命令跳转到目标超链接;c)匹配标识是具有事件属性的标签的自定义文本,通过JavaScript向网页中该标签发送相关操作,例如选中页面的搜索框输入关键词进行搜索。
步骤5)Web引擎通过调用JavaScript脚本,触发匹配标识对应的事件函数或超链接跳转。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (2)
1.一种基于JavaScript扩展的Web页面语音操控实现方法,所述方法包括:Web引擎获得网页地址,调用JavaScript扩展解析网页,获取网页中包含事件属性的标签和超链接标签;获取网页中的所有标签的信息;对每一个标签分配唯一操作标识,形成二元组集合;根据每个标签的标签类型,为每个标签添加对应的操作标识;用户根据网页操作标识说出关键词,将该关键词通过语音引擎解析成文本,将解析出的文本与二元组集合中的标识进行匹配,获取文本对应的匹配标识;Web引擎通过调用JavaScript脚本,触发匹配标识对应的事件函数或超链接跳转;
所述方法具体包括:
步骤1)预先定义实现语音操控的JavaScript脚本,将该脚本注入到WebView中,WebView获得网页地址并加载网页;通过调用JavaScript脚本解析该网页,获取网页中包含事件属性的标签和超链接标签;并用prompt方法携带标签信息以对话框形式在网页中依次弹出;
步骤2)WebView依次捕获用JavaScript脚本中prompt方法产生的对话框,提取出网页中各标签的信息并识别标签类型;对每一个标签分配唯一操作标识,形成二元组集合;
步骤3)根据每个标签的标签类型,在网页中为每个标签添加对应的操作标识;所述操作标识包括:事件、操作目标和用户可视化的描述;
步骤4)用户根据网页操作标识说出关键词,将该关键词通过语音引擎解析成文本,将解析出的文本与二元组集合中的操作标识进行匹配,获取文本对应的匹配标识;
步骤5)Web引擎通过调用JavaScript脚本,触发匹配标识对应的事件函数或超链接跳转;
所述步骤1)具体包括:
步骤1-1)预先定义实现语音操控的JavaScript脚本,将该脚本加载到WebView中;
步骤1-2)调用WebView的setWebViewClient方法向WebView注入WebViewClient类对象,并把加载JavaScript脚本的代码添加到类中的onPageFinished方法中;
骤1-3)当WebView加载网页完毕后即触发onPageFinished方法,调用脚本解析网页,获取网页中包含事件属性的标签和超链接标签,以标签为单位将标签信息传入prompt方法,prompt方法作为从网页向外传递标签信息的媒介,在网页中弹出带有提示信息的对话框;
所述步骤2)具体包括:
步骤2-1)JavaScript调用WebView的setWebChromeClient方法注入WebChromeClient类对象,重写类成员函数onJsPrompt,监听网页中的prompt对话框,如果prompt方法弹出提示对话框,WebView依次捕获prompt方法产生的对话框,提取出各标签的id,tag,class和text信息;
步骤2-2)识别每个标签的标签类型:超链接标签和事件属性标签;
步骤2-3)根据每个标签的标签类型,为每个标签生成二元组;
所述步骤2-2)中的事件属性标签包括:具有onsubmit事件<Form>标签,具有onplay事件、onplaying事件、onpause事件的<audio>、<embed>、<img>、<object>以及<video>媒体标签,具有onkeydown事件、onclick事件、ondblcick事件的<a>、<body>、<button>、<form>、<img>、<input>、<span>、<table>、<tbody>标签;
所述步骤2-2)中的超链接标签指的是具有href属性的<a>标签;
所述步骤2-3)的具体实现过程为:
如果标签为超链接标签,生成的二元组为:(超链接标识,超链接),其中超链接标识直接使用标签的text信息;如果标签的类型为事件属性,由于其text信息内容为空,需要对text进行自定义:定义为页面内唯一的事件名字描述标识text;事件属性标签生成的二元组为:(唯一的事件名字描述标识,事件函数)。
2.根据权利要求1所述的基于JavaScript扩展的Web页面语音操控实现方法,其特征在于,所述步骤3)的具体实现过程为:
通过JavaScript脚本,将唯一操作标识封装成可见的html代码片段,并将该片段写入到html对应标签的前方、后方或标签内部,向具有事件属性的标签添加text标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610028659.7A CN106980614B (zh) | 2016-01-15 | 2016-01-15 | 一种基于JavaScript扩展的Web页面语音操控实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610028659.7A CN106980614B (zh) | 2016-01-15 | 2016-01-15 | 一种基于JavaScript扩展的Web页面语音操控实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106980614A CN106980614A (zh) | 2017-07-25 |
CN106980614B true CN106980614B (zh) | 2019-09-24 |
Family
ID=59340136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610028659.7A Active CN106980614B (zh) | 2016-01-15 | 2016-01-15 | 一种基于JavaScript扩展的Web页面语音操控实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106980614B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446067A (zh) * | 2018-09-26 | 2019-03-08 | 中国平安财产保险股份有限公司 | 数据收集方法、装置、计算机设备和存储介质 |
CN109885793A (zh) * | 2019-01-18 | 2019-06-14 | 中国平安人寿保险股份有限公司 | 页面数据采集方法及装置、电子设备、存储介质 |
CN112632437A (zh) * | 2020-11-27 | 2021-04-09 | ***股份有限公司 | 一种网页页面生成方法、装置及计算机可读存储介质 |
CN112364271A (zh) * | 2020-12-15 | 2021-02-12 | 北京商越网络科技有限公司 | 一种网页间访问流转信息的获取方法 |
CN112770157B (zh) * | 2020-12-17 | 2023-03-28 | 深圳创维-Rgb电子有限公司 | 电视web前端界面的语音控制方法、装置、设备及介质 |
CN113763959B (zh) * | 2021-10-19 | 2024-01-26 | 康佳集团股份有限公司 | 基于信息重组的语音控制方法、装置、终端及存储介质 |
CN116340685B (zh) * | 2023-03-28 | 2024-01-30 | 广东保伦电子股份有限公司 | 一种基于语音生成网页方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629246A (zh) * | 2012-02-10 | 2012-08-08 | 北京百纳信息技术有限公司 | 识别浏览器语音命令的服务器及浏览器语音命令识别方法 |
CN103377212A (zh) * | 2012-04-19 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种语音控制浏览器动作的方法、***及浏览器 |
CN103376990A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种网页操作的语音控制方法和*** |
CN103577444A (zh) * | 2012-07-30 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种操控浏览器的方法及*** |
-
2016
- 2016-01-15 CN CN201610028659.7A patent/CN106980614B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629246A (zh) * | 2012-02-10 | 2012-08-08 | 北京百纳信息技术有限公司 | 识别浏览器语音命令的服务器及浏览器语音命令识别方法 |
CN103377212A (zh) * | 2012-04-19 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种语音控制浏览器动作的方法、***及浏览器 |
CN103376990A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种网页操作的语音控制方法和*** |
CN103577444A (zh) * | 2012-07-30 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种操控浏览器的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN106980614A (zh) | 2017-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980614B (zh) | 一种基于JavaScript扩展的Web页面语音操控实现方法 | |
CN110020292B (zh) | 网页内容提取方法以及终端设备 | |
AU2017302249B8 (en) | Visual regression testing tool | |
US8065667B2 (en) | Injecting content into third party documents for document processing | |
CN105354014B (zh) | 应用界面渲染展示方法及装置 | |
US9177142B2 (en) | Identification of electronic documents that are likely to contain embedded malware | |
RU2010151913A (ru) | Показ рекламных объявлений на основе взаимодействия с веб-страницей | |
CN103268361B (zh) | 网页中隐藏url的提取方法、装置和*** | |
US20130212465A1 (en) | Postponed rendering of select web page elements | |
CN105354013A (zh) | 应用界面渲染方法及装置 | |
US10642924B2 (en) | Advertisement filtering method and device | |
CN106897251B (zh) | 富文本展示方法及装置 | |
CN104408204A (zh) | 网页页面链接地址的获取方法和装置 | |
CN109976840B (zh) | 一种基于前后台分离平台下实现多语言自动适配的方法及*** | |
CN106202101B (zh) | 广告识别方法及装置 | |
US20130167156A1 (en) | Web page to toolbar communication | |
CN101895517B (zh) | 一种脚本语义提取方法和提取装置 | |
CN104156421B (zh) | 页面的展现方法、装置及*** | |
CN105005596B (zh) | 页面显示方法及装置 | |
CN111881043B (zh) | 页面测试方法、装置、存储介质和处理器 | |
CN101236490B (zh) | 一种获取业务逻辑的方法及*** | |
CN104408198B (zh) | 网页页面内容的获取方法和装置 | |
CN104407979B (zh) | 脚本检测方法和装置 | |
CN103942230A (zh) | 一种用于进行语音网页导航的方法、装置和*** | |
CN106055342A (zh) | 一种dojango下使用第三方Form扩展组件的方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210802 Address after: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001 Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd. Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES |
|
TR01 | Transfer of patent right |