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,}