Javascript 电子-从渲染器进程调整窗口大小
我正在开发一个Electron应用程序,作为界面的一部分,一旦发生了什么事情,我想增加窗口的大小(我现在已经把它绑定到一个按钮上),这样我就可以显示额外的数据。我尝试使用在Javascript 电子-从渲染器进程调整窗口大小,javascript,resize,electron,Javascript,Resize,Electron,我正在开发一个Electron应用程序,作为界面的一部分,一旦发生了什么事情,我想增加窗口的大小(我现在已经把它绑定到一个按钮上),这样我就可以显示额外的数据。我尝试使用在onclick=resize()上激活的以下代码执行此操作: 但是,我在窗口/浏览器控制台中遇到以下错误: Uncaught Error: Could not call remote function 'setBounds'. Check that the function signature is correct. Unde
onclick=resize()
上激活的以下代码执行此操作:
但是,我在窗口/浏览器控制台中遇到以下错误:
Uncaught Error: Could not call remote function 'setBounds'. Check that the function signature is correct. Underlying error: Error processing argument at index 0, conversion failure from #<Object>
Error: Could not call remote function 'setBounds'. Check that the function signature is correct. Underlying error: Error processing argument at index 0, conversion failure from #<Object>
at callFunction (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\browser\rpc-server.js:257:11)
at EventEmitter.<anonymous> (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\browser\rpc-server.js:357:5)
at emitMany (events.js:127:13)
at EventEmitter.emit (events.js:204:7)
at WebContents.<anonymous> (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\browser\api\web-contents.js:256:13)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:194:7)
at callFunction (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\browser\rpc-server.js:257:11)
at EventEmitter.<anonymous> (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\browser\rpc-server.js:357:5)
at emitMany (events.js:127:13)
at EventEmitter.emit (events.js:204:7)
at WebContents.<anonymous> (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\browser\api\web-contents.js:256:13)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:194:7)
at metaToValue (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\renderer\api\remote.js:234:13)
at Object.remoteMemberFunction (C:\Users\Thomas\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\renderer\api\remote.js:118:18)
at resize (file:///D:/Documents/Development/Projects/ShortenMeURL/V1/index.html:41:45)
at HTMLButtonElement.onclick (file:///D:/Documents/Development/Projects/ShortenMeURL/V1/index.html:22:86)
Uncaught错误:无法调用远程函数“setBounds”。检查函数签名是否正确。基础错误:处理索引0处的参数时出错,从的转换失败#
错误:无法调用远程函数“setBounds”。检查函数签名是否正确。基础错误:处理索引0处的参数时出错,从的转换失败#
在调用函数(C:\Users\Thomas\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\browser\rpc server.js:257:11)
在黄昏时分。(C:\Users\Thomas\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\browser\rpc server.js:357:5)
在emitMany(events.js:127:13)
在EventEmitter.emit(events.js:204:7)
在网络内容上。(C:\Users\Thomas\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\browser\api\web contents.js:256:13)
两点钟(events.js:106:13)
在WebContents.emit上(events.js:194:7)
在调用函数(C:\Users\Thomas\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\browser\rpc server.js:257:11)
在黄昏时分。(C:\Users\Thomas\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\browser\rpc server.js:357:5)
在emitMany(events.js:127:13)
在EventEmitter.emit(events.js:204:7)
在网络内容上。(C:\Users\Thomas\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\browser\api\web contents.js:256:13)
两点钟(events.js:106:13)
在WebContents.emit上(events.js:194:7)
在metaToValue(C:\Users\Thomas\AppData\Roaming\npm\node\U modules\electron\dist\resources\electron.asar\renderer\api\remote.js:234:13)
在Object.remoteMemberFunction(C:\Users\Thomas\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\renderer\api\remote.js:118:18)
在调整大小时(file:///D:/Documents/Development/Projects/ShortenMeURL/V1/index.html:41:45)
在HTMLButtonElement.onclick(file:///D:/Documents/Development/Projects/ShortenMeURL/V1/index.html:22:86)
关于如何修复此问题的任何建议?只需使用渲染器中的普通旧javascript,如果只是调整大小,我不会在主进程和渲染器进程之间添加不必要的消息;) 对象的定义(它是的第一个参数)比您预期的更严格。由于其属性没有默认值,因此必须定义所有属性 例如:
remote.getCurrentWindow().setBounds({
x: 1621,
y: 611,
width: 10,
height: 1000
});
另外,如果您只想调整大小,您可以使用BrowserWindow,如果有人遇到类似错误,请确保提供整数值,例如
123
,而不是123,45
<代码>数学。将它们四舍五入以确保正确
遗憾的是,文档中没有提到这一点。您是否尝试过为矩形对象提供所有道具?文档不会将任何道具标记为可选道具。您是否尝试过设置大小(w,h)?@pergy有效,谢谢。您是否愿意将其作为答案发布,以便我可以给您代表等。很高兴听到!;)发布它作为答案!知道如何使电子浏览器窗口对内容做出响应吗?
MutationObserver
在body元素上,然后resizeTo
@oldboy
window.resizeTo(1000,900);
remote.getCurrentWindow().setBounds({
x: 1621,
y: 611,
width: 10,
height: 1000
});