CN109189588B - 一种浏览器功能实现方法、装置、终端及存储介质 - Google Patents
一种浏览器功能实现方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN109189588B CN109189588B CN201810892873.6A CN201810892873A CN109189588B CN 109189588 B CN109189588 B CN 109189588B CN 201810892873 A CN201810892873 A CN 201810892873A CN 109189588 B CN109189588 B CN 109189588B
- Authority
- CN
- China
- Prior art keywords
- communication module
- client
- browser
- built
- link
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种浏览器功能实现方法、装置、终端及存储介质,其中该方法包括:建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现;基于通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转或收藏。本发明实施例提供的技术方案克服了现有技术中基于QML的客户端无法直接通过HTML加载WEB页面,以及基于QML的客户端与HTML之间也不存在web页面链接的跳转和收藏等接口的问题,使客户端通过内置浏览器实现了链接跳转或收藏的功能。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种浏览器功能实现方法、装置、终端及存储介质。
背景技术
自浏览器诞生以来,其提供的功能极大地便利了互联网的使用。对于很多客户端,尤其是直播客户端,很多链接需要跳转到Web端来显示,同时,用户也能够直接通过浏览器观看直播房间等。
虽然基于QML的客户端提供了基于chromium浏览器的内核引擎WebEngineView,该内核引擎可以通过HTML来加载web页面,但是,基于QML的客户端无法直接通过HTML加载WEB页面,基于QML的客户端与HTML之间也不存在web页面链接的跳转和收藏等接口,因此,如何使基于QML的客户端实现浏览器的跳转和收藏等功能是一个难题。
发明内容
有鉴于此,本发明实施例提供了一种浏览器功能实现方法、装置、终端及存储介质,使客户端实现了链接跳转或收藏的功能。
第一方面,本发明实施例提供了一种浏览器功能实现方法,所述方法包括:
建立客户端中的客户端通信模块与所述客户端中的内置浏览器通信模块之间的通信连接,其中,所述客户端通信模块基于QML语言实现,所述内置浏览器通信模块基于HTML语言实现;
基于所述通信连接,在所述客户端通信模块以及所述内置浏览器通信模块之间传输链接,以使所述客户端通过内置浏览器实现所述链接的跳转或收藏。
第二方面,本发明实施例提供了一种浏览器功能实现装置,所述装置包括:
通信连接建立模块,用于建立客户端中的客户端通信模块与所述客户端中的内置浏览器通信模块之间的通信连接,其中,所述客户端通信模块基于QML语言实现,所述内置浏览器通信模块基于HTML语言实现;
浏览器功能实现模块,用于基于所述通信连接,在所述客户端通信模块以及所述内置浏览器通信模块之间传输链接,以使所述客户端通过内置浏览器实现所述链接的跳转或收藏。
第三方面,本发明实施例提供了一种浏览器功能实现终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的浏览器功能实现方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的浏览器功能实现方法。
本发明实施例提供的一种浏览器功能实现方法、装置、终端和存储介质,通过建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现;基于上述通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转或收藏,克服了现有技术中基于QML的客户端无法直接通过HTML加载WEB页面,以及基于QML的客户端与HTML之间也不存在web页面链接的跳转和收藏等接口的问题,使客户端通过内置浏览器实现了链接跳转或收藏的功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种浏览器功能实现方法的流程图;
图2是本发明实施例二提供的一种浏览器功能实现方法的流程图;
图3是本发明实施例三提供的一种浏览器功能实现方法的流程图;
图4是本发明实施例四提供的一种浏览器功能实现装置的结构示意图;
图5是本发明实施例五提供的一种浏览器功能实现终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一提供的一种浏览器功能实现方法流程图,本实施例可适用于在客户端内部进行链接跳转或收藏的情况,该方法可以由浏览器功能实现装置实现,具体可通过浏览器功能实现装置中的软件和/或硬件来实施。参见图1,该浏览器功能实现方法包括如下步骤:
S110、建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现。
其中,客户端可以是PC端的客户端也可以手机端的客户端。QML语言为Qt推出的一种陈述性的脚本语言,用来描述一个程序的用户界面:无论是什么样子,以及该用户界面如何表现。HTML语言为超文本标记语言,即标准通用标记语言下的一个应用。超文本是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括头部分(Head部分)和主体部分(Body部分),其中头部分提供关于网页的信息,主体部分提供网页的具体内容。
本实施例中,优选可以在客户端中设置内置浏览器,使得用户能够在客户端内部使用浏览器。为了实现客户端中除内置浏览器之外的部分与内置浏览器之间的数据交互,可以在客户端中设置客户端通信模块和内置浏览器通信模块,并通过建立二者之间的通信连接,实现客户端中除内置浏览器之外的部分与内置浏览器之间的数据交互。其中,优选的,客户端通信模块可以基于QML语言实现,内置浏览器通信模块可以基于HTML语言实现。
S120、基于通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转或收藏。
建立好客户端通信模块与内置浏览器通信模块之间的通信连接后,可以基于该通信连接,在客户端通信模块与内置浏览器通信模块之间传输链接,以实现客户端与内置浏览器之间的链接跳转和收藏功能。
其中,在客户端通信模块与内置浏览器通信模块之间传输链接,以实现客户端与内置浏览器之间的链接跳转和收藏功能,可以包括客户端通信模块将其链接传输给内置浏览器通信模块,实现链接从客户端到内置浏览器的跳转;可以包括内置浏览器通信模块将其链接传输给客户端通信模块,实现客户端对内置浏览器中链接的收藏,还可以包括内置浏览器通信模块内部的链接传输,实现链接在内置浏览器内部的跳转等。
本实施例提供的浏览器功能实现方法,通过建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现;基于上述通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转或收藏,克服了现有技术中基于QML的客户端无法直接通过HTML加载WEB页面,以及基于QML的客户端与HTML之间也不存在web页面链接的跳转和收藏等接口的问题,使客户端通过内置浏览器实现了链接跳转或收藏的功能。
在上述各实施例的基础上,进一步的,建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,包括:
利用Socket组件,在客户端通信模块与内置浏览器通信模块之间进行TCP协议三次握手,建立客户端通信模块与内置浏览器通信模块之间的通信连接。
由于基于QML语言实现的客户端通信模块与基于HTML语言实现的内置浏览器通信模块之间无法直接进行通信连接,因此,可以借助QML的底层C++语言提供的WebChannel实现客户端通信模块与内置浏览器通信模块之间的直接通信。优选的,可以利用WebChannel中的Socket组件实现客户端通信模块与内置浏览器通信模块之间的直接通信。
具体的,利用Socket组件,在客户端通信模块与内置浏览器通信模块之间进行TCP协议三次握手,建立客户端通信模块与内置浏览器通信模块之间的通信连接。其中,在客户端通信模块与内置浏览器通信模块之间进行TCP协议三次握手分别是:第一次握手可以是客户端通信模块向内置浏览器通信模块发送TCP连接请求数据包,第二次握手可以是内置浏览器通信模块接收到请求数据包后,向客户端通信模块发送确认数据包,第三次握手可以是客户通信模块接收到内置浏览器通信模块发送的确认数据包后,向内置浏览器通信模块发送确认数据包,如果内置浏览器通信模块接收到了确认数据包,则说明握手成功,此时,客户端通信模块与内置浏览器通信模块成功建立通信连接,二者可以基于该通信连接传输链接。
进一步的,基于通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转,包括:
基于通信连接,利用客户端通信模块将客户端中需要进行跳转的链接传输至内置浏览器通信模块;
利用内置浏览器通信模块识别链接,加载并显示链接对应的跳转界面,以从客户端跳转至内置浏览器。
本实施例中,基于客户端通信模块与内置浏览器通信模块之间的通信连接,可以利用客户端通信模块将客户端中用户选定的需要进行跳转的链接传输给内置浏览器通信模块,以通过内置浏览器展示该链接对应的界面。内置浏览器通信模块接收到客户端通信模块发送的链接后,识别出该链接的head部分和body部分,并根据head部分和body部分加载与该链接相对应的跳转界面,并在内部浏览器中进行显示,使得链接从客户端跳转到内置浏览器。
进一步的,在利用内置浏览器通信模块加载跳转界面时,包括:利用客户端通信模块将环境变量的取值设置为NULL,以使内置浏览器通信模块加载跳转界面时,无命令行提示弹出。
通常,在网页跳转的过程中,浏览器第一次加载flash插件时都会弹出命令行提示,在利用内置浏览器通信模块加载跳转界面时,也不可避免的会出现同样的问题。命令行提示的弹出与环境变量的取值不为NULL有关,基于此,可以利用客户端通信模块将环境变量的取值设置为NULL,以使***调用环境变量是无法找到命令行提示弹窗,使得内置浏览器第一次加载flash插件时无命令行提示弹出。具体的,客户端通信模块可以利用环境变量设置函数将环境变量的取值设置为NULL。
示例性的,以Windows操作***下的环境变量为例进行具体说明:
Windows操作***下的***环境变量ComSpec存储了命令行cmd.exe的路径,此时可通过qputenv函数将***环境变量ComSpec设置为Null,以使Windows操作***无法找到命令行提示弹窗,使得浏览器加载flash插件时无法跳出命令行提示。
实施例二
图2是本发明实施例二提供的一种浏览器功能实现方法的流程图。本实施例在上述各实施例的基础上,将所述基于所述通信连接,在所述客户端通信模块以及所述内置浏览器通信模块之间传输链接,以使所述客户端通过内置浏览器实现所述链接的跳转,进一步优化为:利用所述内置浏览器通信模块,识别用户在所述内置浏览器中所选择的链接是否为下载链接;若所述链接不是下载链接,则基于所述通信连接,利用所述内置浏览器通信模块将所述链接发送至所述客户端通信模块;利用所述客户端通信模块从内核引擎WebEngineView中加载与所述链接相对应的跳转界面;利用所述客户端通信模块将所述跳转界面中的非正常界面进行过滤;基于所述通信连接,利用所述客户端通信模块将过滤后剩余的正常跳转界面发送至所述内置浏览器通信模块,并利用所述内置浏览器通信模块显示所述正常跳转界面,以实现所述链接在所述内置浏览器内部的跳转。如图2所示,该方法具体包括:
S210、建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现。
S220、利用内置浏览器通信模块,识别用户在内置浏览器中所选择的链接是否为下载链接。
当检测到用户在内置浏览器中选择了某个链接时,优选可以利用内置浏览器通信模块识别用户所选择的链接是否为下载链接。具体的,可以利用内置浏览器通信模块从用户所选择的链接中识别出head部分和body部分,其中,head部分包含请求资源的文件类型。内置浏览器通信模块根据head部分中请求资源的文件类型即可确定用户在内置浏览器中所选择的链接是否是下载链接。
S230、若链接不是下载链接,则在用户点击链接后,基于通信连接,利用内置浏览器通信模块将链接发送至客户端通信模块。
本实施例中,若内置浏览器通信模块确定用户所选择的链接不是下载链接,则可以确定该链接需要在内置浏览器内部进行跳转。具体的,可以先保存用户选择的链接,在用户点击所选择的链接后,基于内置浏览器通信模块与客户端通信模块之间的通信连接,利用内置浏览器通信模块将链接以及识别出的head部分和body部分等发送至客户端通信模块。
S240、利用客户端通信模块从内核引擎WebEngineView中加载与链接相对应的跳转界面。
S250、利用客户端通信模块将跳转界面中的非正常界面进行过滤。
优选的,客户端通信模块在接收到内置浏览器通信模块发送的链接以及head部分和body部分之后,可以根据接收到的信息从内核引擎WebEngineView中加载与链接相对应的跳转界面。其中,在用户点击链接时,如果存在网络条件比较差、用户点击速度过快或存在卡顿等至少一种情况时,利用客户端通信模块从内核引擎WebEngineView中加载到的与链接相对应的跳转界面中就很可能会包含非正常界面,其中非正常界面可以包括空的跳转界面或者错误的跳转界面。此时,如果将空的跳转界面或者错误的跳转界面发送给内置浏览器通信模块进行显示,会降低用户的使用体验。此时,优选可以利用客户端通信模块将跳转界面中的非正常界面过滤掉,仅剩余与链接相对应的正常跳转界面。
S260、基于通信连接,利用客户端通信模块将过滤后剩余的正常跳转界面发送至内置浏览器通信模块,并利用内置浏览器通信模块加载并显示正常跳转界面,以实现链接在内置浏览器内部的跳转。
本实施例中,利用客户端通信模块获取到与链接相对应的正常跳转界面之后,可以基于内置浏览器通信模块与客户端通信模块之间的通信连接,将正常跳转界面发送至内置浏览器通信模块,内置浏览器通信模块加载并显示该正常跳转界面,进而实现链接在内置浏览器内部的跳转。
本实施例提供的浏览器功能实现方法,在上述各实施例的基础上,通过利用内置浏览器通信模块,识别用户在内置浏览器中所选择的链接是否为下载链接;若链接不是下载链接,则基于通信连接,利用内置浏览器通信模块将链接发送至客户端通信模块;利用客户端通信模块从内核引擎WebEngineView中加载与链接相对应的跳转界面;利用客户端通信模块将跳转界面中的非正常界面进行过滤;基于通信连接,利用客户端通信模块将过滤后剩余的正常跳转界面发送至内置浏览器通信模块,并利用内置浏览器通信模块显示正常跳转界面,实现了链接在内置浏览器内部的跳转。
在上述各实施例的基础上,进一步的,基于通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转,还包括:
若链接为下载链接,则在用户点击链接后利用内置浏览器通信模块弹出与链接相对应的下载界面。
其中,若确定当前链接是下载链接,则在用户点击链接后,可以利用内置浏览器通信模块弹出与下载链接相对应的自定义的下载界面,当用户选择下载目录并进行下载时,可以将内置浏览器通信模块与Web服务器建立连接,根据Web服务器传输的已经接收的数据大小receivedBytes以及数据总量totalBytes,利用内置浏览器通信模块更新进度条并进行显示,同时将接收到的在在数据保存至相应的下载目录中。
实施例三
图3是本发明实施例三提供的一种浏览器功能实现方法的流程图。本实施例在上述各实施例的基础上,将所述基于所述通信连接,在所述客户端通信模块以及所述内置浏览器通信模块之间传输链接,以使所述客户端通过内置浏览器实现所述链接的收藏,进一步优化为:当检测到用户点击所述客户端中的收藏按钮时,基于所述通信连接,利用所述内置浏览器通信模块将当前链接发送至所述客户端通信模块;利用所述客户端通信模块检测所述当前链接是否已经被收藏,若检测到所述当前链接没有被收藏,则利用所述客户端通信模块保存所述当前链接以及所述当前链接对应的内容。如图3所示,该方法具体包括:
S310、建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现。
S320、当检测到用户点击客户端中的收藏按钮时,基于通信连接,利用内置浏览器通信模块将当前链接发送至客户端通信模块。
当用户在客户端的内置浏览器中进行浏览时,检测到用户点击了客户端中的收藏按钮,此时,可以确定用户想要将内置浏览器当前的界面以及当前界面对应的链接收藏进客户端中。此时,可以基于内置浏览器通信模块和客户端通信模块之间的通信连接,利用内置浏览器通信模块将当前链接发送至客户端通信模块。
S330、利用客户端通信模块检测当前链接是否已经被收藏,若检测到当前链接没有被收藏,则利用客户端通信模块保存当前链接以及当前链接对应的内容。
优选的,当客户端通信模块接收到内置浏览器发送的当前链接时,可以利用客户端通信模块检测当前链接是否已经被客户端收藏,以防止出现当前链接被重复收藏的问题。具体的,可以通过检测当前链接是否已经记录在用户收藏网址的本地配置文件中来确定当前链接是否已经被收藏。若检测到当前链接没有被收藏,则可以弹出当前链接未被收藏的提示(或者弹出当前链接可以被收藏的提示);若检测到当前链接已经被收藏,则可以弹出当前链接已被收藏的提示。此外,还可以通过本地配置文件确定用户的收藏是否已经达到收藏的上限,如果确定用户的收藏没有达到上限,则可以弹出当前链接可以被收藏的提示,此时,可以将当前链接以及当前链接对应的界面中的全部内容写入本地配置文件中;如果确定用户的收藏已达到上限,则可以弹出当前链接不可以被收藏的提示。
本实施例提供的浏览器功能实现方法,在上述各实施例的基础上,通过当检测到用户点击客户端中的收藏按钮时,基于通信连接,利用内置浏览器通信模块将当前链接发送至客户端通信模块;利用客户端通信模块检测当前链接是否已经被收藏,若检测到当前链接没有被收藏,则利用客户端通信模块保存当前链接以及当前链接对应的内容,实现了客户端的链接收藏功能。
在上述各实施例的基础上,进一步的,在利用客户端通信模块保存当前链接以及当前链接对应的内容时,若当前链接对应的内容未加载完成,则:
注册与内容相对应的各事件,其中,每个事件对应一属性信息,属性信息为发生变化或未发生变化;
当检测到至少一个事件所对应的属性信息为发生变化时,判断客户端通信模块提供的内核引擎WebEngineView中的LoadStatus是否为完成状态;
若LoadStatus为完成状态,则利用完成状态对应的各事件更新内容。
本实施例中,在对当前链接以及当前链接对应的界面进行收藏时,很可能出现当前链接对应的界面中的内容没有加载完成的情况。此时,可以采用异步更新模式,利用客户端通信模块检测收藏的链接所对应的界面中的内容是否加载完成,如果检测到收藏的链接所对应的界面中的内容加载完成,则将加载完成的界面中的标题、图标、内容等相关信息在收藏夹中进行更新。
具体的,可以预先注册与链接所对应的界面中的内容相对应的各事件,其中各事件可以Icon、title、content等事件,其中,每个事件都对应一属性信息,该属性信息为发生变化或未发生变化,Icon、title、content等事件的属性信息可以用IconChanged、titleChanged、contentChanged表示。当检测到至少一个属性信息发生变化时,可以通过判断客户端通信模块提供的内核引擎WebEngineView中的加载状态LoadStatus是否为完成来确定与链接所对应的界面中的内容是否加载完成。如果加载状态LoadStatus为完成,则利用完成状态对应的各事件更新收藏夹中相应的内容。
实施例四
图4是本发明实施例四提供的一种浏览器功能实现装置结构示意图。参见图4,本实施例中的浏览器功能实现装置,包括:
通信连接建立模块410,用于建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现;
浏览器功能实现模块420,用于基于通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转或收藏。
本实施例提供的浏览器功能实现装置,通过建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现;基于上述通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转或收藏,克服了现有技术中基于QML的客户端无法直接通过HTML加载WEB页面,以及基于QML的客户端与HTML之间也不存在web页面链接的跳转和收藏等接口的问题,使客户端通过内置浏览器实现了链接跳转或收藏的功能。
在上述各实施例的基础上,进一步的,通信连接建立模块410具体可以用于:
利用Socket组件,在客户端通信模块与内置浏览器通信模块之间进行TCP协议三次握手,建立客户端通信模块与内置浏览器通信模块之间的通信连接。
进一步的,浏览器功能实现模块420可以包括客户端跳转至内置浏览器单元,其中该单元具体可以用于:
基于通信连接,利用客户端通信模块将客户端中需要进行跳转的链接传输至内置浏览器通信模块;
并利用内置浏览器通信模块识别链接,加载并显示链接对应的跳转界面,以从客户端跳转至内置浏览器。
进一步的,浏览器功能实现模块420还可以包括内置浏览器内部跳转单元,其中,该单元具体可以用于:
利用内置浏览器通信模块,识别用户在内置浏览器中所选择的链接是否为下载链接;
若链接不是下载链接,则基于通信连接,利用内置浏览器通信模块将链接发送至客户端通信模块;
利用客户端通信模块从内核引擎WebEngineView中加载与链接相对应的跳转界面;
利用客户端通信模块将跳转界面中的非正常界面进行过滤;
基于通信连接,利用客户端通信模块将过滤后剩余的正常跳转界面发送至内置浏览器通信模块,并利用内置浏览器通信模块加载并显示正常跳转界面,以实现链接在内置浏览器内部的跳转。
进一步的,上述客户端跳转至内置浏览器单元和内置浏览器内部跳转单元具体还可以用于
利用客户端通信模块将环境变量的取值设置为NULL,以使内置浏览器通信模块加载跳转界面时,无命令行提示弹出。
进一步的,浏览器功能实现模块420还可以包括链接收藏单元,其中,该单元具体可以用于:
当检测到用户点击客户端中的收藏按钮时,基于通信连接,利用内置浏览器通信模块将当前链接发送至客户端通信模块;
利用客户端通信模块检测当前链接是否已经被收藏,若检测到当前链接没有被收藏,则利用客户端通信模块保存当前链接以及当前链接对应的内容。
进一步的,链接收藏单元具体还可以用于:
在利用客户端通信模块保存当前链接以及当前链接对应的内容时,若当前链接对应的内容未加载完成,则:
注册与内容相对应的各事件,其中,每个事件对应一属性信息,属性信息为发生变化或未发生变化;
当检测到至少一个事件所对应的属性信息为发生变化时,判断客户端通信模块提供的内核引擎WebEngineView中的LoadStatus是否为完成状态;
若LoadStatus为完成状态,则利用完成状态对应的各事件更新内容。
本发明实施例所提供的浏览器功能实现装置可执行本发明任意实施例所提供的浏览器功能实现方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的浏览器功能实现终端的结构示意图。图5示出了适于用来实现本发明实施方式的示例性浏览器功能实现终端512的框图。图5显示的浏览器功能实现终端512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,浏览器功能实现终端512以通用计算设备的形式表现。浏览器功能实现终端512的组件可以包括但不限于:一个或者多个处理器516,存储器528,连接不同***组件(包括存储器528和处理器516)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
浏览器功能实现终端512典型地包括多种计算机***可读介质。这些介质可以是任何能够被浏览器功能实现终端512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器528可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)530和/或高速缓存存储器532。浏览器功能实现终端512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储装置534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储器528中,这样的程序模块542包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。
浏览器功能实现终端512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器524等,其中,显示器524可根据实际需要决定是否配置)通信,还可与一个或者多个使得用户能与该浏览器功能实现终端512交互的设备通信,和/或与使得该浏览器功能实现终端512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,浏览器功能实现终端512还可以通过网络适配器520与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与浏览器功能实现终端512的其它模块通信。应当明白,尽管图5中未示出,可以结合浏览器功能实现终端512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储装置等。
处理器516通过运行存储在存储器528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的浏览器功能实现方法。
实施例六
本发明实施例六提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的浏览器功能实现方法,包括:
建立客户端中的客户端通信模块与客户端中的内置浏览器通信模块之间的通信连接,其中,客户端通信模块基于QML语言实现,内置浏览器通信模块基于HTML语言实现;
基于通信连接,在客户端通信模块以及内置浏览器通信模块之间传输链接,以使客户端通过内置浏览器实现链接的跳转或收藏。
当然,本发明实施例所提供的计算机可读存储介质,其上存储的计算机程序不限于执行如上所述的方法操作,还可以执行本发明任意实施例所提供的基于浏览器功能实现终端的浏览器功能实现方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种浏览器功能实现方法,其特征在于,包括:
建立客户端中的客户端通信模块与所述客户端中的内置浏览器通信模块之间的通信连接,其中,所述客户端通信模块基于QML语言实现,所述内置浏览器通信模块基于HTML语言实现,所述建立客户端中的客户端通信模块与所述客户端中的内置浏览器通信模块之间的通信连接,包括:利用Socket组件,在所述客户端通信模块与所述内置浏览器通信模块之间进行TCP协议三次握手,建立所述客户端通信模块与所述内置浏览器通信模块之间的通信连接;
基于所述通信连接,在所述客户端通信模块以及所述内置浏览器通信模块之间传输链接,以使所述客户端通过内置浏览器实现所述链接的跳转或收藏,包括:基于所述通信连接,利用所述客户端通信模块将所述客户端中需要进行跳转的链接传输至所述内置浏览器通信模块;利用所述内置浏览器通信模块识别所述链接,加载并显示所述链接对应的跳转界面,以从所述客户端跳转至所述内置浏览器;当检测到用户点击所述客户端中的收藏按钮时,基于所述通信连接,利用所述内置浏览器通信模块将当前链接发送至所述客户端通信模块;利用所述客户端通信模块检测所述当前链接是否已经被收藏,若检测到所述当前链接没有被收藏,则利用所述客户端通信模块保存所述当前链接以及所述当前链接对应的内容。
2.根据权利要求1所述的方法,其特征在于,所述基于所述通信连接,在所述客户端通信模块以及所述内置浏览器通信模块之间传输链接,以使所述客户端通过内置浏览器实现所述链接的跳转,还包括:
利用所述内置浏览器通信模块,识别用户在所述内置浏览器中所选择的链接是否为下载链接;
若所述链接不是下载链接,则在用户点击所述链接后,基于所述通信连接,利用所述内置浏览器通信模块将所述链接发送至所述客户端通信模块;
利用所述客户端通信模块从内核引擎WebEngineView中加载与所述链接相对应的跳转界面;
利用所述客户端通信模块将所述跳转界面中的非正常界面进行过滤;
基于所述通信连接,利用所述客户端通信模块将过滤后剩余的正常跳转界面发送至所述内置浏览器通信模块,并利用所述内置浏览器通信模块加载并显示所述正常跳转界面,以实现所述链接在所述内置浏览器内部的跳转。
3.根据权利要求1或2所述的方法,其特征在于,在利用所述内置浏览器通信模块加载跳转界面时,包括:
利用所述客户端通信模块将环境变量的取值设置为NULL,以使所述内置浏览器通信模块加载跳转界面时,无命令行提示弹出。
4.根据权利要求1所述的方法,其特征在于,还包括:
在利用所述客户端通信模块保存所述当前链接以及所述当前链接对应的内容时,若所述当前链接对应的内容未加载完成,则:
注册与所述内容相对应的各事件,其中,每个事件对应一属性信息,所述属性信息为发生变化或未发生变化;
当检测到至少一个事件所对应的属性信息为发生变化时,判断所述客户端通信模块提供的内核引擎WebEngineView中的LoadStatus是否为完成状态;
若所述LoadStatus为完成状态,则利用所述完成状态对应的各事件更新所述内容。
5.一种浏览器功能实现装置,其特征在于,包括:
通信连接建立模块,用于建立客户端中的客户端通信模块与所述客户端中的内置浏览器通信模块之间的通信连接,其中,所述客户端通信模块基于QML语言实现,所述内置浏览器通信模块基于HTML语言实现,所述建立客户端中的客户端通信模块与所述客户端中的内置浏览器通信模块之间的通信连接,包括:利用Socket组件,在所述客户端通信模块与所述内置浏览器通信模块之间进行TCP协议三次握手,建立所述客户端通信模块与所述内置浏览器通信模块之间的通信连接;
浏览器功能实现模块,用于基于所述通信连接,在所述客户端通信模块以及所述内置浏览器通信模块之间传输链接,以使所述客户端通过内置浏览器实现所述链接的跳转或收藏,包括:基于所述通信连接,利用所述客户端通信模块将所述客户端中需要进行跳转的链接传输至所述内置浏览器通信模块;利用所述内置浏览器通信模块识别所述链接,加载并显示所述链接对应的跳转界面,以从所述客户端跳转至所述内置浏览器;当检测到用户点击所述客户端中的收藏按钮时,基于所述通信连接,利用所述内置浏览器通信模块将当前链接发送至所述客户端通信模块;利用所述客户端通信模块检测所述当前链接是否已经被收藏,若检测到所述当前链接没有被收藏,则利用所述客户端通信模块保存所述当前链接以及所述当前链接对应的内容。
6.一种浏览器功能实现终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的浏览器功能实现方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的浏览器功能实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810892873.6A CN109189588B (zh) | 2018-08-07 | 2018-08-07 | 一种浏览器功能实现方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810892873.6A CN109189588B (zh) | 2018-08-07 | 2018-08-07 | 一种浏览器功能实现方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189588A CN109189588A (zh) | 2019-01-11 |
CN109189588B true CN109189588B (zh) | 2020-12-15 |
Family
ID=64921025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810892873.6A Active CN109189588B (zh) | 2018-08-07 | 2018-08-07 | 一种浏览器功能实现方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189588B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858106A (zh) * | 2020-09-23 | 2020-10-30 | 江苏金晓电子信息股份有限公司 | 一种qml扩展控件的属性设置方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169486A (zh) * | 2010-02-25 | 2011-08-31 | 腾讯科技(深圳)有限公司 | 一种文件下载方法及装置 |
CN102915363A (zh) * | 2012-10-18 | 2013-02-06 | 北京奇虎科技有限公司 | 网址收藏方法和*** |
CN103501463A (zh) * | 2013-10-25 | 2014-01-08 | 乐视网信息技术(北京)股份有限公司 | 一种数据获取方法及电子设备 |
CN103530365A (zh) * | 2013-10-12 | 2014-01-22 | 北京搜狗信息服务有限公司 | 获取资源的下载链接的方法及*** |
CN103777942A (zh) * | 2013-12-06 | 2014-05-07 | 深圳市证通电子股份有限公司 | 应用于金融终端的嵌入式软件产品的开发框架 |
CN104050962A (zh) * | 2013-03-16 | 2014-09-17 | 李军 | 基于语音合成技术的多功能阅读器 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9529603B2 (en) * | 2010-07-02 | 2016-12-27 | Nokia Technologies Oy | Method and apparatus for dynamic network device start up |
-
2018
- 2018-08-07 CN CN201810892873.6A patent/CN109189588B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169486A (zh) * | 2010-02-25 | 2011-08-31 | 腾讯科技(深圳)有限公司 | 一种文件下载方法及装置 |
CN102915363A (zh) * | 2012-10-18 | 2013-02-06 | 北京奇虎科技有限公司 | 网址收藏方法和*** |
CN104050962A (zh) * | 2013-03-16 | 2014-09-17 | 李军 | 基于语音合成技术的多功能阅读器 |
CN103530365A (zh) * | 2013-10-12 | 2014-01-22 | 北京搜狗信息服务有限公司 | 获取资源的下载链接的方法及*** |
CN103501463A (zh) * | 2013-10-25 | 2014-01-08 | 乐视网信息技术(北京)股份有限公司 | 一种数据获取方法及电子设备 |
CN103777942A (zh) * | 2013-12-06 | 2014-05-07 | 深圳市证通电子股份有限公司 | 应用于金融终端的嵌入式软件产品的开发框架 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务*** |
Non-Patent Citations (2)
Title |
---|
"Interacting with HTML from QML over WebChannel/WebSockets";Declaration of VAR;《https://retifrav.github.io/blog/2018/07/14/html-from-qml-over-webchannel-websockets/?tdsourcetag=s_pctim_aiomsg》;20180714;第1-24页 * |
Declaration of VAR."Interacting with HTML from QML over WebChannel/WebSockets".《https://retifrav.github.io/blog/2018/07/14/html-from-qml-over-webchannel-websockets/?tdsourcetag=s_pctim_aiomsg》.2018, * |
Also Published As
Publication number | Publication date |
---|---|
CN109189588A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11972198B2 (en) | Client-side web site selection according to device capabilities | |
US8386955B1 (en) | User-optimized content for web browsing windows | |
US20180322215A1 (en) | Web page access method and apparatus | |
US8880993B2 (en) | Handling unexpected responses to script executing in client-side application | |
CN110634049B (zh) | 页面显示内容的处理方法、装置、电子设备及可读介质 | |
CN102981705B (zh) | 服务器端浏览器实现方法及服务器 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN113590974B (zh) | 推荐页面配置方法、装置、电子设备和计算机可读介质 | |
EP4198773A1 (en) | Image processing method and apparatus, and computer readable storage medium | |
CN110929128A (zh) | 一种数据爬取方法、装置、设备和介质 | |
CN112612546A (zh) | 页面加载方法、装置、电子设备和存储介质 | |
CN110674444B (zh) | 一种动态网页下载的方法及终端 | |
CN109189588B (zh) | 一种浏览器功能实现方法、装置、终端及存储介质 | |
US20140157104A1 (en) | Dynamic sharing and updating of a web page | |
CN109165372B (zh) | 一种网页加载方法、装置、设备及存储介质 | |
CN111783010B (zh) | 网页空白页面监测方法、装置、终端及存储介质 | |
CN110881224A (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN112307386A (zh) | 信息监控方法、***、电子设备及计算机可读存储介质 | |
CN109857503B (zh) | 页面交互效果自适应方法、装置与电子设备 | |
CN109446451B (zh) | 网页展示的方法、装置、介质和计算设备 | |
CN111177634A (zh) | 支持多语言的文案内容加载方法、装置、设备、及介质 | |
CN110737861A (zh) | 一种网页数据处理方法、装置、设备和存储介质 | |
US20140101315A1 (en) | Inserting user targeted web resources into browser navigation memory | |
CN114816637B (zh) | 一种嵌入小程序上的应用显示方法、装置及*** | |
CN110717126A (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 |