gpt4 book ai didi

javascript - 向 Electron 应用程序中的元素添加单击事件监听器

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:09 25 4
gpt4 key购买 nike

错误:启动 Electron 应用程序时未定义文档

我试图做到这一点,以便当有人单击 p 元素时,我的 js 文件中用于运行 Electron 内容的函数会打开一个新的 Electron 窗口,但它一直说该文档未定义。

这是我的index.html(主要 Electron 应用程序文件)

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>DTE</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/addons/p5.dom.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/addons/p5.sound.min.js"></script>
<script type="text/javascript" src="Entery.js"></script>
<script type="text/javascript" src="index.js"></script>
</head>

<body style="margin: 0px; background-color: black">
<div style="position: absolute; bottom: 39px;width: 100vw; height: 1px; background-color:white;"></div>
<p id="commands" onclick="displayCommands()" style="position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%);font-family: 'Roboto'; color: white;font-weight: 300;">Commands</p>
</body>

这是我的 Electron js文件

const electron = require('electron');
const url = require('url');
const path = require('path');

const { app, BrowserWindow, Menu } = electron;

let mainWindow;
let commandWindow;

app.on('ready', () => {

mainWindow = new BrowserWindow();
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}));
Menu.setApplicationMenu(null);
document.querySelector('#commands').addEventListener('click', () => {
displayCommands();
})
});

displayCommands = () => {
commandWindow = new BrowserWindow({
width: 300,
height: 500,
title: 'Avaliable Commands',

});
commandWindow.loadURL(url.format({
pathname: path.join(__dirname, 'commands.html'),
protocol: 'file:',
slashes: true
}));
}

每次我运行它时都会弹出一个错误:

ReferenceError: document is not defined
at App.<anonymous> (DIRECTORY_TO_ENTERY.JS:25:5)
at App.emit (events.js:199:15)```

最佳答案

你不能在 Electron 的主进程中访问 DOM(文档),只能在它所属的渲染器中访问。阅读此内容以获取更多信息 How to access DOM elements in electron?

关于javascript - 向 Electron 应用程序中的元素添加单击事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57155960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com