本文概述
- 1.安装Electron标签
- 2.选项卡的实现
在本文中, 我们将向你展示如何实现浏览器(如网站导航标签)。
1.安装Electron标签 electronic-tabs模块是一个非常简单的实用程序, 可让你在相同的Chrome, Brave或任何理智的Web浏览器中为Electron应用程序实现简单的导航选项卡。你将可以使用Electron的Web视图添加新标签。请注意, webview标记的样式使用display:flex; 在内部确保子iframe元素在与传统布局和flexbox布局一起使用时填充其webview容器的整个高度和宽度。请不要覆盖默认显示:flex; CSS属性, 除非指定display:inline-flex; 用于内联布局。
你将能够轻松呈现本地文件或远程网站。要安装此模块, 请在终端上运行以下命令(只要你位于项目目录中):
npm install --save electron-tabs
安装模块后, 你将可以在渲染器过程中使用它, 我们将在后面解释。有关此模块的更多信息, 请访问Github上的官方存储库。
2.选项卡的实现 在项目中呈现选项卡所需的所有标记如下:
<
div class="etabs-tabgroup">
<
div class="etabs-tabs">
<
/div>
<
div class="etabs-buttons">
<
/div>
<
/div>
<
div class="etabs-views">
<
/div>
但是, 这在应用程序中显示为纯HTML, 这意味着你需要根据需要对其进行样式化。由于是内联html, 它将在你的DOM中占用空间, 因此你在应用程序中使用的逻辑需要更改。你原来的index.html文件现在应该只是带有标签的容器。
以下index.html文件包含漂亮的功能布局, 几乎可以满足应用程序中所有需要标签的所有项目的需要:
<
!DOCTYPE html>
<
html>
<
head>
<
meta charset="UTF-8">
<
title>
Hello World!<
/title>
<
!--
1. Include CSS that define the styles of the tabs.
You can use the default styles of the module or include your own styles.
-->
<
link rel="stylesheet" href="http://www.srcmini.com/node_modules/electron-tabs/electron-tabs.css">
<
style>
/* As the tab needs to be in the border of the view, remove margin of the body tag */
body{
margin: 0;
}
<
/style>
<
/head>
<
body>
<
!-- 2. Include the basic markup of the tabs view -->
<
div class="etabs-tabgroup">
<
div class="etabs-tabs">
<
/div>
<
div class="etabs-buttons">
<
/div>
<
/div>
<
div class="etabs-views">
<
/div>
<
!--
3. Include initialization code, you can include another js file
Or write directly the JS code here.
-->
<
script>
// You can also require other files to run in this process
require('./renderer.js')
<
/script>
<
/body>
<
/html>
如你所见, 标记是非常基本的, 仅包含4个带有某些类的div元素。该逻辑需要使用JavaScript来实现, 但这必须在Renderer进程内完成(通过加载在索引文件中的JS文件或使用脚本标签)。在我们的示例中, 我们在与index.html文件相同的目录中包括一个文件, 即renderer.js, 其中包含以下代码:
// ./renderer.js// 1. Require the module
const TabGroup = require("electron-tabs");
// 2. Define the instance of the tab group (container)
let tabGroup = new TabGroup({
// If you want a new button that appends a new tab, include:
newTab: {
title: 'New Tab', // The file will need to be local, probably a local-ntp.html file
// like in the Google Chrome Browser.//src: "./some-index-file.html", //visible: true, //webviewAttributes: {
//nodeintegration: true
//}
}
});
// 3. Add a tab from a website
let tab1 = tabGroup.addTab({
title: "Our Code World", src: "https://ourcodeworld.com", visible: true
});
// 4. Add a new tab that contains a local HTML file
let tab2 = tabGroup.addTab({
title: "Local File", src: "./local.html", visible: true, // If the page needs to access Node.js modules, be sure to
// enable the nodeintegration
webviewAttributes: {
nodeintegration: true
}
});
在此示例中, 我们仅包含2个标签。第一步, 你需要创建选项卡组的实例, 该实例将存储选项卡的所有实例。我们的第一个标签会加载一个远程网站, 即ourcodeworld.com, 因此它不需要很多属性, 只需定义网站URL的src属性即可, 但是可以是本地的。例如, 我们的第二个选项卡在你的项目中加载了一个本地文件, 并且使用了nodeintegration(你可以运行具有本机功能的JavaScript)。请注意, 在初始化期间, 可以使用newTab选项添加一个新按钮来加载另一个文件, 通常它应该是一个索引页面, 例如Google Chrome中的一个:
文章图片
【如何在Electron Framework中实现类似选项卡的浏览器】这使用户可以浏览到新页面或某个本地文件。如你所见, 使用Electron Framework创建自己的浏览器非常简单!
编码愉快!
推荐阅读
- 如何在Electron Framework中实现本机上下文菜单(带有检查元素)
- 如何使用Electron下载网络文件,保存并显示下载进度
- 如何在Kali Linux中安装Node.js
- 如何在Electron项目中使用实时重载
- 如何防止系统在Electron Framework中进入暂停(睡眠)模式
- 如何在Kali Linux中使用DirBuster列出网站的目录和文件
- 如何启用搜索菜单以在Electron Framework的应用程序中快速找到单词或短语
- 如何检查你的代码是否正在Electron或浏览器中执行
- 如何在Kali Linux中使用GoLismero搜索网站中的安全漏洞