【发布时间】:2018-01-21 07:35:21
【问题描述】:
我试图在单击按钮时从另一个Javascript 文件调用主进程的函数。代码如下:
main.js
const electron = require( 'electron')
const {app, BrowserWindow} = electron
const path = require('path')
app.on('ready', () => {
let win = new BrowserWindow({width:800,height:600})
win.loadURL(`file://${__dirname}/index.html`)
})
exports.openWindow = () => {
alert("Hello Javatpoint");
}
index.html
<!doc html>
<html>
<head>
<title>
Test 1
</title>
</head>
<body>
<h1>Hello world</h1>
<script src="index.js"></script>
</body>
</html>
index.js
const main = require('electron').remote.require('./main')
var button = document.createElement('button')
button.textContent = 'Open'
button.addEventListener('click',() => {
main.openWindow()
}, false)
document.body.appendChild(button)
当我单击按钮时,它应该会显示一个警告对话框。但它没有显示任何东西。我是电子新手。我想知道它不起作用的原因。请帮忙。
【问题讨论】:
-
你想达到什么目的?
-
当我点击按钮时,它应该会显示一个警告对话框。但它没有显示任何内容
-
但是为什么来自 main.js 文件?主进程中的代码不应该做任何与渲染进程相关的事情,所以你可以简单地用你的函数创建另一个 JS 文件,然后在你的 index.js 文件中使用它。或者,如果你“知道”你在做什么并且真的需要从主进程执行 JS,那么请检查这个问题:stackoverflow.com/questions/28920621/…
-
对不起,我的问题误导了你。我已经编辑过了。我有替代解决方案。但我想知道它不起作用的原因。
标签: javascript html electron