Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态调整electron应用程序窗口的大小 Main.js main.html MyApp 你好 调整大小_Javascript_Electron_Atom Editor - Fatal编程技术网

Javascript 动态调整electron应用程序窗口的大小 Main.js main.html MyApp 你好 调整大小

Javascript 动态调整electron应用程序窗口的大小 Main.js main.html MyApp 你好 调整大小,javascript,electron,atom-editor,Javascript,Electron,Atom Editor,我希望如果用户点击按钮,那么一个函数应该触发并改变已经打开的主窗口的大小。我知道win.setSize(宽度、高度)可以做到这一点,但我不知道如何将其放入函数中。我不知道如何获取main.js中按钮的引用以在其上添加事件侦听器,也不知道如何获取当前窗口并应用一些操作。我是electron的新手! 感谢简短回答(来自手机):使用IPCDrender模块将事件发送到main并调用resize方法 长答案: 我找不到电子的游乐场 // In renderer process (web page). c

我希望如果用户点击按钮,那么一个函数应该触发并改变已经打开的主窗口的大小。我知道
win.setSize(宽度、高度)
可以做到这一点,但我不知道如何将其放入函数中。我不知道如何获取main.js中按钮的引用以在其上添加事件侦听器,也不知道如何获取当前窗口并应用一些操作。我是electron的新手! 感谢

简短回答(来自手机):使用IPCDrender模块将事件发送到main并调用resize方法

长答案: 我找不到电子的游乐场

// In renderer process (web page).
const {ipcRenderer} = require('electron')
const myResizeBtn = document.getElementById('resizeBtn')
myResizeBtn.addEventListener('click', function () {
  ipcRenderer.send('resize-me-please')
})

// in main.js

const {ipcMain} = require('electron')
ipcMain.on('resize-me-please', (event, arg) => {
  win.setSize(width,height)
})

现在,您可以通过代码获取当前浏览器窗口,并按如下方式调整其大小:

const{remote}=require('electron');
const win=remote.getCurrentWindow();
设高度=400;
宽度=200;
让动画=假;

设置大小(宽度、高度、动画)
const{ipc}=electron;onData('resize',函数(e,x,y){win.setSize(x,y);});常数电子=要求(‘电子’);常数{IPC}=电子;设btn=document.querySelector('button');btn.addEventListener('click',函数(e){e.preventDefault();ipcRenderer.send('resize',600800);})看看这个谢谢!我已经在我的代码中找到了错误!我在main.js中使用的是ipcRenderer,而不是ipcMain!但是谢谢,我接受了你的回答!在
main.js
第5行
remote
中,您在哪里定义“win”?已经不推荐使用此方法,因此这可能不是人们应该使用的方法。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MyApp</title>
</head>
<body>

<h1>Hello !</h1>
<button id="resizeBtn">Resize</button>
</body>
</html>
// In renderer process (web page).
const {ipcRenderer} = require('electron')
const myResizeBtn = document.getElementById('resizeBtn')
myResizeBtn.addEventListener('click', function () {
  ipcRenderer.send('resize-me-please')
})

// in main.js

const {ipcMain} = require('electron')
ipcMain.on('resize-me-please', (event, arg) => {
  win.setSize(width,height)
})