这是我目前的项目结构:
main.js
index.html
download.html
src/index.js
src/style.css
main.js
将创建一个BrowserWindow并加载index.html
,其中会加载index.js
和style.css
。
我想创建一个新的模态窗口,并在download.html
中点击按钮时加载index.html
。
这是我index.js
的代码:
btn.onclick = function() {
let win = new remote.BrowserWindow({
parent: remote.getCurrentWindow(),
modal: true
})
win.loadURL(`file://${__dirname}/download.html`)
}
但它正在加载file://download.html
,在渲染过程中不存在__dirname
吗?
答案 0 :(得分:10)
刚刚测试了此代码(如下),它可以正常运行。目录结构是:
main.js
app(目录)
--- index.html
--- app.js(以下代码存在)
--- modal.html
您如何访问remote
?
"use strict";
const { remote } = require('electron');
function openModal() {
let win = new remote.BrowserWindow({
parent: remote.getCurrentWindow(),
modal: true
})
var theUrl = 'file://' + __dirname + '/modal.html'
console.log('url', theUrl);
win.loadURL(theUrl);
}
答案 1 :(得分:1)
使用__dirname
将提供当前文件的目录。在主要过程中,它将根据文件系统。在渲染器过程中,它将位于浏览器的上下文中,并基于访问过的uri。
您可能希望改为使用app.getAppPath
或app.getPath(name)
。