gpt4 book ai didi

javascript - 无法使用 electronjs 和 jquery 显示 OpenDialog

转载 作者:行者123 更新时间:2023-11-29 14:43:57 25 4
gpt4 key购买 nike

我正在尝试使用 electronjs 创建一个简单的桌面应用程序。我的目标是打开一个 ShowOpenDialog,但由于(我不知道的原因)它没有打开任何东西。
TreeView :

sample app
|-index.html
|-js
|--jquery.js
|--index.js
|-main.js
|-package.json

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
<br />
<button id="openFile">Open</button>
<script>
window.$ = window.jQuery = require('./js/jquery.js');
</script>
<sctipt src ="./js/index.js"></sctipt>
</html>

索引.js

$(document).ready(function() {    
$("#openFile").click(function(){
dialog.showOpenDialog(function (fileNames) {
});
})
})

主要.js

'use strict';
const electron = require('electron');
const dialog = require('electron').dialog;
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;

let mainWindow;

function createWindow () {
mainWindow = new BrowserWindow({width: 800, height: 600});
mainWindow.loadURL('file://' + __dirname + '/index.html');
mainWindow.
mainWindow.on('closed', function() {
mainWindow = null;
});
}

app.on('ready', createWindow);

app.on('window-all-closed', function () {
if (process.platform !== 'darwin') {
app.quit();
}
});

app.on('activate', function () {
if (mainWindow === null) {
createWindow();
}
});

和 package.json

{
"name": "electron-quick-start",
"version": "1.0.0",
"description": "A minimal Electron application",
"main": "main.js",
"scripts": {
"start": "electron main.js"
}
}

最佳答案

您在主进程中需要dialog,但在渲染进程中尝试使用它。这是行不通的。您应该使用 remote 模块获取对主进程的 dialog 的引用,或者使用 ipc 模块向主进程发送消息打开对话框的过程。

作为一个最小的例子,尝试将 index.js 中的 dialog 替换为 require('electron').remote.require('dialog');然而,从长远来看,我建议改用 IPC。

关于javascript - 无法使用 electronjs 和 jquery 显示 OpenDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34911682/

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