Electron中禁止开发者调试的方法

Electron是什么

Electron

是一个使用 JS、HTML 和 CSS 构建桌面应用程序的跨平台框架

思路

为了禁止在Electron应用中打开开发者调试的工具,可以通过对应用进行设置BrowserWindow的选项以及监听和阻止F12或者按下I的事件来实现。

详细步骤

1.创建一个electron应用
2.初始化配置文件 package.json

npm init -y

3.添加依赖,安装 electron

npm i electron -D

4.新建 main.js

在electron的main,js文件中输入下面代码即可

import { app, BrowserWindow } from "electron"

//创建窗口
const createWindow = () => {
	const mainWindow = new BrowserWindow({
		width: 380, //设置窗口宽度(单位:像素)
		height: 750, //设置窗口高度
		icon: "resource/images/code.ico", //设置窗口图标
		autoHideMenuBar: true, //隐藏菜单栏
		//resizable: false, //禁止调整窗口大小
		//x:0, //x表示窗口左上角的水平坐标(单位:像素)
		//y:0, //y表示窗口左上角的垂直坐标
		webPreferences: {
			nodeIntegration: true,
			devTools: false // 禁用开发者工具
		}
	})

	// mainWindow.loadURL("https://www.baidu.com") //加载指定的 url
	
	// 禁用菜单栏中的开发者工具选项
	mainWindow.removeMenu()

	// 禁用键盘快捷键
	mainWindow.webContents.on('before-input-event', (event, input) => {
		if (input.key === 'F12' || (input.control && input.shift && input.key === 'I')) {
			event.preventDefault()
		}
	})

	//当尝试打开新窗口时, 阻止默认行为, 在当前窗口加载 url
	// mainWindow.webContents.setWindowOpenHandler(details => {
	// 	mainWindow.loadURL(details.url)
	// 	return { action: 'deny' } //阻止默认行为
	// })

}

//当应用准备就绪后创建窗口
app.whenReady().then(() => {
	createWindow()
})

//Windows和mac的窗口进程管理器不同, 因此需要监听窗口关闭事件
app.on('window-all-closed', () => {
	if (process.platform !== 'darwin') {
		app.quit()
	}
})

app.on('activate', () => {
	if (BrowserWindow.getAllWindows().length === 0) {
		createWindow()
	}
})

代码附有详细注释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值