node-ddk 打开新窗口
https://blog.csdn.net/eli960/article/details/146207062
也可以下载demo直接演示
http://linuxmail.cn/go#node-ddk
本文讲解如何在渲染进程发起创建新窗口, 包括 window.open
在主进程定义窗口类型
import main, { NODEDDK } from "node-ddk/main"
// 设置窗口类型, 一般情况,不用调用此函数
main.window.setWindowTypes([{type: "main", // 唯一的, main, 本主窗口自动创建,且不应该销毁menu: true,devTools: true,autoDevTools: true,windowStateType: "123",},{type: "noframe_test", // 都是自定义类型frame: false,},{type: "minWidthHeight",minWidth: 500,minHeight: 300,},{type: "menu_test123",minWidth: 500,minHeight: 300,menu: true,},{type: "test456",minWidth: 500,minHeight: 300,// 如果需要记住窗口状态, 按不同的类型记住不同窗口状态windowStateType: "test_type"},{type: "一般window.open666",},
])
在渲染进程(既web端)创建窗口
import renderer, { NODEDDK } from "node-ddk/renderer"
//
renderer.window.create({ type: "noframe_test" })
//
renderer.window.create({ type: "minWidthHeight" })
//
renderer.window.create({ type: "test456",// args 是传递给新窗口的数据args: {...}
})
在渲染进程(既web端)打开模态窗 window.open
let www = renderer.window.openModal({type: "menu_test123","onClose": () => {debugShow("模态窗关闭了")},
})
// 这个 wwww 就是 window.open() 的返回值
在渲染进程(既web端), 新窗口启动后
获取参数
//
renderer.window.getInfo()
// 结果形如:
{"webContentsId": 1,"appName": "node-ddk-demo","appVersion": "0.1.1","devMode": true,"type": "main","uniqueId": "main",// args 就是 create 传入的 args"args": {...},"minWidth": 100,"minHeight": 100,"menu": true,"devTools": true,"autoDevTools": true,"windowStateType": "123"
}
窗口类型参数
// @ 渲染进程启动参数export type WindowType = {type: string,minWidth?: number,minHeight?: number,resizable?: boolean,minimizable?: boolean,minimize?: boolean,maximizable?: boolean,maximize?: boolean,transparent?: boolean,fullscreenable?: boolean,fullscreen?: boolean,alwaysOnTop?: boolean,frame?: boolean,menu?: boolean,skipTaskbar?: boolean,kiosk?: boolean,focus?: boolean,needCenter?: boolean,x?: number,y?: number,width?: number,height?: number,hide?: boolean,backgroundColor?: string,navigate?: boolean,zoomFactor?: number,hasShadow?: boolean,windowStateType?: string,devTools?: boolean,autoDevTools?: boolean,}