当前位置: 首页 > news >正文

electron-vite_4使用WebContentsView快速集成已有项目

Web 嵌入官方推荐使用WebContentsView;集成也比较简单,但还是需要你单独写点东西;

src/main/index.ts进行修改

在这里插入图片描述

import { app, 
shell, BrowserWindow, 
ipcMain, nativeImage, WebContentsView, dialog } from 'electron';function createWindow(): void {// 1.创建 browser window.const mainWindow = new BrowserWindow({width: 900,height: 670,show: false,autoHideMenuBar: true,...(process.platform === 'linux' ? { icon: appIcon } : {}),transparent: false,frame: true,resizable: true,webPreferences: {preload: join(__dirname, '../preload/index.js'),sandbox: false}})// 2.创建WebContentsViewconst view1 = new WebContentsView()// 3. 添加给mainWindow mainWindow.contentView.addChildView(view1)// 4.知道要加载的线上url最好是httpsview1.webContents.loadURL('https://baidu.com')// 5.指定显示位置;x,y是偏移;这里选择0;width和height和mainWindow保持一致view1.setBounds({ x: 0, y: 0, width: 900, height: 670});// 染进程第一次完成绘制时mainWindow.on('ready-to-show', () => {// 6-1.关闭谷歌调试工具mainWindow.webContents.closeDevTools();// 6-2.当页面发生改变的时候重新指定显示位置mainWindow.on('resize', () => {  // 获取mainWindow宽高const [width, height] = mainWindow.getContentSize();view1.setBounds({ x: 0, y: 0, width, height});  });mainWindow.show()})mainWindow.webContents.setWindowOpenHandler((details) => {shell.openExternal(details.url)return { action: 'deny' }})// HMR for renderer base on electron-vite cli.// Load the remote URL for development or the local html file for production.if (is.dev && process.env['ELECTRON_RENDERER_URL']) {mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])} else {// 7.注意这里一定要加载index.htmlmainWindow.loadFile(join(__dirname, '../renderer/index.html'))}
}
renderer/index.html

注意修改title, 比方说‘微信’、‘钉钉’、‘小红书’、‘有道云’

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>百度</title>
</head>
<body>
</body>
</html>

http://www.mrgr.cn/news/47696.html

相关文章:

  • Flink系列知识讲解之:网络监控、指标与反压
  • Python 中的错误处理与调试技巧
  • AR 眼镜之-拍照/录像动效切换-实现方案
  • 大语言模型兵马未动,数据准备粮草先行
  • vue实现虚拟列表滚动
  • Nginx代理同域名前后端分离项目的完整步骤
  • 使用Windows 自带的 图片 改变图像的任意分辨率:
  • xxxxx51c嵌入式~mbedtls移植各MCU
  • 构建卓越企业架构:数字化转型中的TOGAF框架最佳实践解析
  • SSM(set、foreach、sql代码片段)
  • 数据结构之二叉搜索树(key模型与key_value模型)
  • 串口(UART)的FPGA设计(接收与发送模块)
  • 6个步骤消除SOC告警倦怠
  • MySQL:基于Spring监听Binlog日志
  • map系列的使用
  • ChatGPT 4o with Canvas — 新特性详解
  • openpdf
  • 10.10每日作业
  • [Git] Git下载及使用 从入门到精通 详解(附下载链接)
  • k8s部署jenkins集群,配置集群kubernetes plugin的pod模板
  • x-cmd pkg | fastfetch: 轻松获取系统信息,打造个性化输出!
  • uniapp的相关知识(1)
  • centos7执行yum命令时报:Could not resolve host: mirrorlist.centos.org; Unknown error
  • 网友反馈:移动套餐只能升不能降怎么办?
  • Java多线程面试题
  • 融入、成长与创造 - 数字经济浪潮下的个人转型