CN115146198A - 一种基于Electron的简易浏览器实现方法及系统 - Google Patents
一种基于Electron的简易浏览器实现方法及系统 Download PDFInfo
- Publication number
- CN115146198A CN115146198A CN202210739517.7A CN202210739517A CN115146198A CN 115146198 A CN115146198 A CN 115146198A CN 202210739517 A CN202210739517 A CN 202210739517A CN 115146198 A CN115146198 A CN 115146198A
- Authority
- CN
- China
- Prior art keywords
- main process
- module
- rendering process
- electron
- page
- 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.)
- Pending
Links
Images
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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于Electron的简易浏览器实现方法及系统,属于浏览器技术领域,本发明通过Electron的渲染进程实现浏览器的页面访问功能,包括访问、前进、后退、主页、刷新、多标签页面管理等,通过Electron主进程监测页面事件,例如页面的加载、跳转、下载等,并可在其中增加相关业务控制,实现灵活的业务功能。同时,主进程可以提供全屏、置顶、桌面级消息提醒、开机自启、网络检测、本地文件访问等各种类客户端型能力,具备跨平台(Windows、Linux、MacOS)、定制化等特点。
Description
技术领域
本发明涉及浏览器、Electron、NodeJS、Html5、JavaScript等技术领域,尤其涉及一种基于Electron的简易浏览器实现方法及系统。
背景技术
当前的互联网服务模式主要有B/S:浏览器/服务器(Browse/Server)模式和C/S:客户端/服务器(Client/Server)模式两种。
其中,B/S(浏览器/服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术,这种结构更成为当今应用软件的首选体系结构。这种模式统一了客户端,用户操作与交互的界面是通过通用的浏览器(如,IE浏览器、Google Chrome浏览器、Firefox浏览器等)来实现的。
对于特定用户、特定设备的需求,可能需要一些区别于传统通用浏览器的额外的定制功能。双屏智慧办税系统采用的即是B/S服务模式,它要求浏览器除了要具备通用浏览器的网页展示功能外,还能够提供一定的客户端能力,例如:全屏展示、置顶、去除地址栏、监测URL地址变化、桌面级消息提醒、开机自启、网络检测、本地文件访问等。而传统浏览器在特定需求中存在可定制性低、客户端能力弱等问题。
发明内容
为了解决以上技术问题,本发明提供了一种基于Electron的简易浏览器实现方法。更灵活、可定制、客户端能力强的浏览器构造,提供页面浏览服务,并能够结合具体业务实现灵活配置。
本发明的技术方案是:
一种基于Electron的简易浏览器实现方法,使用Electron技术,构建了一套简易的浏览器,通过Electron的渲染进程实现浏览器的页面访问功能,包括访问、前进、后退、主页、刷新、多标签页面管理等,通过Electron主进程监测页面事件,例如页面的加载、跳转、下载等,并可在其中增加相关业务控制,实现灵活的业务功能。同时,主进程可以提供全屏、置顶、桌面级消息提醒、开机自启、网络检测、本地文件访问等各种类客户端型能力,具备跨平台(Windows、Linux、MacOS)、定制化等特点。
进一步的,
主进程搭建:创建NodeJS项目,指定入口文件即为主进程文件,在主进程种引入Electron依赖,并创建Electron实例,在实例就绪后,准备创建渲染进程;同时,注册网络、文件、消息、通信、更新子模块用于附加功能工作。
渲染进程创建:主进程中创建用户界面窗口,并在窗口中指定要访问的渲染进程路径;渲染进程是一个H5页面,用于提供浏览器界面框架,多标签页面使用webview加载,并挂载到渲染进程页面上。
渲染进程和主进程间使用通信模块进行通信,对渲染进程要使用其他子模块功能时,均需通过通信模块请求主进程进行功能分发。
本发明还提供了一种基于Electron的简易浏览器实现系统,包括主进程和渲染进程;
主进程:用于控制浏览器软件的生命周期,包括创建、显示、关闭、销毁等。同时也作为其他各模块的集成载体;
渲染进程:用于渲染展示页面,提供传统浏览器的页面访问和控制功能。
进一步的,
还包括NodeJS依赖库、通信模块、消息模块、网络模块、文件模块、自动更新模块;
各模块主要功能如下:
NodeJS依赖库:提供各种NodeJS依赖。
通信模块:封装了通信方法,为主进程和渲染进程提供双向通信能力。
消息模块:封装消息提示方法,提供系统级消息提醒能力。
网络模块:提供网络在线/掉线检测、渲染进程的URL变化监测功能。
文件模块:提供本地文件读写功能。
自动更新模块:用于检测、下载和安装更新包。
再进一步的,
主进程搭建:创建NodeJS项目,指定入口文件即为主进程文件,在主进程种引入Electron依赖,并创建Electron实例,在实例就绪后,准备创建渲染进程;同时,注册网络、文件、消息、通信、更新子模块用于附加功能工作。
渲染进程创建:主进程种创建用户界面窗口,并在窗口中指定要访问的渲染进程路径;渲染进程是一个H5页面,用于提供浏览器界面框架,多标签页面使用webview加载,并挂载到渲染进程页面上;
渲染进程和主进程间使用通信模块进行通信,对渲染进程要使用其他子模块功能时,均需通过通信模块请求主进程进行功能分发。
本发明的有益效果是
1、可定制开发;
2、具备客户端底层能力;
3、可实现对访问URL的监控。
附图说明
图1是本发明的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明使用Electron技术,构建了一套简易的浏览器,通过Electron的渲染进程实现浏览器的页面访问功能,包括访问、前进、后退、主页、刷新、多标签页面管理等,通过Electron主进程监测页面事件,例如页面的加载、跳转、下载等,并可在其中增加相关业务控制,实现灵活的业务功能。同时,主进程可以提供全屏、置顶、桌面级消息提醒、开机自启、网络检测、本地文件访问等各种类客户端型能力,具备跨平台(Windows、Linux、MacOS)、定制化等特点。
其具体实现过程为:
1、主进程搭建:创建NodeJS项目,指定入口文件即为主进程文件,在主进程种引入Electron依赖,并创建Electron实例,在实例就绪后,准备创建渲染进程。同时,注册网络、文件、消息、通信、更新等子模块用于附加功能工作。
2、渲染进程创建:主进程中创建用户界面窗口,并在窗口中指定要访问的渲染进程路径。渲染进程是一个H5页面,用于提供浏览器界面框架,包括工具栏、标签栏、页面展示区等。多标签页面使用webview加载,并挂载到渲染进程页面上。
3、渲染进程和主进程间使用通信模块进行通信,包括对渲染进程要使用其他子模块功能时,均需通过通信模块请求主进程进行功能分发。
客户端打包,生成安装文件;安装客户端,即可使用;
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种基于Electron的简易浏览器实现方法,其特征在于,
通过Electron的渲染进程实现浏览器的页面访问功能,通过Electron主进程监测页面事件,并在其中增加相关业务控制,同时,主进程提供全屏、置顶、桌面级消息提醒、开机自启、网络检测、本地文件访问的功能。
2.根据权利要求1所述的方法,其特征在于,
主进程搭建:创建NodeJS项目,指定入口文件即为主进程文件,在主进程种引入Electron依赖,并创建Electron实例,在实例就绪后,准备创建渲染进程;同时,注册网络、文件、消息、通信、更新子模块用于附加功能工作。
3.根据权利要求2所述的方法,其特征在于,
渲染进程创建:主进程中创建用户界面窗口,并在窗口中指定要访问的渲染进程路径;渲染进程是一个H5页面,用于提供浏览器界面框架,多标签页面使用webview加载,并挂载到渲染进程页面上。
4.根据权利要求3所述的方法,其特征在于,
渲染进程和主进程间使用通信模块进行通信,对渲染进程要使用其他子模块功能时,均需通过通信模块请求主进程进行功能分发。
5.一种基于Electron的简易浏览器实现系统,其特征在于,
包括主进程和渲染进程;
主进程:用于控制浏览器软件的生命周期,同时也作为其他各模块的集成载体;
渲染进程:用于渲染展示页面,提供传统浏览器的页面访问和控制功能。
6.根据权利要求5所述的系统,其特征在于,
还包括NodeJS依赖库、通信模块、消息模块、网络模块、文件模块、自动更新模块;
各模块主要功能如下:
NodeJS依赖库:提供各种NodeJS依赖;
通信模块:为主进程和渲染进程提供双向通信能力;
消息模块:提供系统级消息提醒能力;
网络模块:提供网络在线/掉线检测、渲染进程的URL变化监测功能;
文件模块:提供本地文件读写功能;
自动更新模块:用于检测、下载和安装更新包。
7.根据权利要求6所述的系统,其特征在于,
主进程搭建:创建NodeJS项目,指定入口文件即为主进程文件,在主进程种引入Electron依赖,并创建Electron实例,在实例就绪后,准备创建渲染进程;同时,注册网络、文件、消息、通信、更新子模块用于附加功能工作。
8.根据权利要求7所述的系统,其特征在于,
渲染进程创建:主进程种创建用户界面窗口,并在窗口中指定要访问的渲染进程路径;渲染进程是一个H5页面,用于提供浏览器界面框架,多标签页面使用webview加载,并挂载到渲染进程页面上。
9.根据权利要求8所述的系统,其特征在于,
渲染进程和主进程间使用通信模块进行通信,对渲染进程要使用其他子模块功能时,均需通过通信模块请求主进程进行功能分发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210739517.7A CN115146198A (zh) | 2022-06-28 | 2022-06-28 | 一种基于Electron的简易浏览器实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210739517.7A CN115146198A (zh) | 2022-06-28 | 2022-06-28 | 一种基于Electron的简易浏览器实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115146198A true CN115146198A (zh) | 2022-10-04 |
Family
ID=83408858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210739517.7A Pending CN115146198A (zh) | 2022-06-28 | 2022-06-28 | 一种基于Electron的简易浏览器实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115146198A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561472A (zh) * | 2023-04-14 | 2023-08-08 | 广州力麒智能科技有限公司 | 基于Electron跨平台技术的政务浏览器系统架构 |
-
2022
- 2022-06-28 CN CN202210739517.7A patent/CN115146198A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561472A (zh) * | 2023-04-14 | 2023-08-08 | 广州力麒智能科技有限公司 | 基于Electron跨平台技术的政务浏览器系统架构 |
CN116561472B (zh) * | 2023-04-14 | 2023-12-26 | 广州力麒智能科技有限公司 | 基于Electron跨平台技术的政务浏览器系统架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11119812B2 (en) | Method and device for processing application program page according to a common interface container | |
CN103064663B (zh) | 浏览器插件的生成、发布、加载和更新方法以及系统 | |
CN107092473B (zh) | 桌面应用开发方法及设备 | |
CN105069132A (zh) | 一种基于静态外壳的网页实现方法 | |
US20130117719A1 (en) | Context-Based Adaptation for Business Applications | |
CN106997298A (zh) | 一种应用资源获取方法及装置 | |
EP3528474B1 (en) | Webpage advertisement anti-shielding methods and content distribution network | |
US20170230474A1 (en) | Service component management methods and systems | |
CN110806868A (zh) | 一种单页面搭建及加载方法 | |
CN112416415A (zh) | 一种前端微服务实现方法及相关组件 | |
CN112114890A (zh) | 小程序的处理方法、装置、设备及存储介质 | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
CN115309470B (zh) | 微件的加载方法、装置、设备以及存储介质 | |
CN115146198A (zh) | 一种基于Electron的简易浏览器实现方法及系统 | |
CN111858252A (zh) | 基于前端框架的动态埋点方法及装置 | |
CN109240784B (zh) | 一种内存对象的图表渲染方法及系统 | |
CN110807162A (zh) | 加载占位图的方法和装置 | |
Miravet et al. | Framework for the declarative implementation of native mobile applications | |
CN114756228A (zh) | 页面处理方法、装置、设备及存储介质 | |
US20130151945A1 (en) | Processing Published and Subscribed Events | |
CN114860240A (zh) | 一种低代码页面创建方法、装置、设备及介质 | |
CN113326079A (zh) | 服务版本切换方法、切换装置、电子设备和存储介质 | |
CN111931111A (zh) | 一种网页开发方法、网页展示方法、装置及设备 | |
CN106991167B (zh) | Web应用的迁移方法及装置 | |
CN113312163B (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 |