CN106980614B - 一种基于JavaScript扩展的Web页面语音操控实现方法 - Google Patents

一种基于JavaScript扩展的Web页面语音操控实现方法 Download PDF

Info

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
Application number
CN201610028659.7A
Other languages
English (en)
Other versions
CN106980614A (zh
Inventor
党寿江
***
脱立恒
李超鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Xinrand Network Technology Co ltd
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201610028659.7A priority Critical patent/CN106980614B/zh
Publication of CN106980614A publication Critical patent/CN106980614A/zh
Application granted granted Critical
Publication of CN106980614B publication Critical patent/CN106980614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; 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

一种基于JavaScript扩展的Web页面语音操控实现方法
技术领域
本发明涉及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标识。
CN201610028659.7A 2016-01-15 2016-01-15 一种基于JavaScript扩展的Web页面语音操控实现方法 Active CN106980614B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 腾讯科技(深圳)有限公司 一种操控浏览器的方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
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