[英]Error while trying to open a new window with JavaScript
我正在使用 JavaScript 創建一個電子,但是當我嘗試創建一個新窗口時,它在頁面底部出現錯誤(單擊鏈接)。 我不知道該怎么做,因為我找不到錯誤。
function createAddWindow() {
addWindow = new BrowserWindow({
width: 200,
height: 200,
title: 'Administrator Panel'
});
addWindow.loadURL(url.format({
pathname: path.join(__dirname, "addWindow.html"),
protocol: 'file:',
slashes: true
}));
}
const mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
Menu.setApplicationMenu(mainMenu);
});
const mainMenuTemplate = [
{
label: 'File',
submenu: [
{
label: 'Administrator Panel',
click() {
createAddWindow();
}
},
{
label: 'Exit',
accelerator: process.platform == 'darwin' ? 'Command + Q' : 'Ctrl + Q',
click() {
app.quit();
}
}
]
}
];
https://hastebin.com/amepavehux.js
有人可以幫忙解決這個問題嗎?
好的,您的問題是您的功能超出了全局范圍。 您可以:A.) 創建一個全局函數或 B.) 刪除不必要的函數並執行如下操作:
const mainMenu = Menu.buildFromTemplate(mainMenuTemplate); Menu.setApplicationMenu(mainMenu); }); const mainMenuTemplate = [ { label: 'File', submenu: [ { label: 'Administrator Panel', click() { addWindow = new BrowserWindow({ width: 200, height: 200, title: 'Administrator Panel' }); addWindow.loadURL(url.format({ pathname: path.join(__dirname, "addWindow.html"), protocol: 'file:', slashes: true })); } }, { label: 'Exit', accelerator: process.platform == 'darwin' ? 'Command + Q' : 'Ctrl + Q', click() { app.quit(); } } ] } ];
我只是刪除了該函數並將其代碼放在click
處理程序中。
如果您決定使用該函數,請在此處閱讀全局變量: https : //electronjs.org/docs/api/remote
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.