首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数在使用ipcRenderer时不起作用

函数在使用ipcRenderer时不起作用
EN

Stack Overflow用户
提问于 2022-07-06 08:58:13
回答 1查看 33关注 0票数 0

这是我第一次使用电子,所以这可能是一些愚蠢的问题,但我没有在网上找到任何关于它的信息。

所以,我把这个放在我的index.html文件中

代码语言:javascript
复制
<head>
    <script defer src="generate.js"></script>
</head>
<body>
    <label for="role">MY LABEL</label>
        <select name="abc" id="abc" class="abc">
            <option value="0"></option>
            <option value="1">Option 1</option>
            <option value="2">Option 2</option>
            <option value="3">Option 3</option>
            <option value="4">Option 4</option>
            <option value="5">Option 5</option>
     <button onclick="generate()">Generate</button>
</body>

这个在我的generate.js文件里

代码语言:javascript
复制
const ipcRenderer = require('electron').ipcRenderer;

const generate = () => {
    ipcRenderer.send('generate', document.querySelector('.abc').value)
}

理论上,只要有人点击按钮,.js文件中的.js函数就应该运行,但它不会运行。我尝试了一些测试,并删除了ipcRenderer,函数被高亮显示(意味着它正在使用),并且这个函数可以工作。我该怎么解决这个问题?如果需要其他代码,我将共享它。

编辑:删除ipcRenderer时,我尝试使用alert编写代码

EN

回答 1

Stack Overflow用户

发布于 2022-07-06 10:44:41

经过几次尝试,我解决了这个问题。外部.js文件(在本例中为generate.js)不使用NodeJS操作。要解决这个问题,我必须在index.js上添加两行代码,如下所示。

代码语言:javascript
复制
const createWin = () => {
    win = new BrowserWindow({

//these lines fixed the issue
        webPreferences: {
            nodeIntegration: true,
            contextIsolation: false
        }
    })

    win.loadFile('index.html')
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72880604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档