electron-window-util v2.0.1
electron的多窗口模块,可以快速的打开多个electron窗口
正在完善中,方法可能会修改(废弃与新增)
已知bug:
1、窗口打开过多会造成新窗口vue不加载,初步估计可能和vue相关
2、窗口间通信,事件不能注销
模块github地址
模块demo地址
问题反馈
安装
使用npm安装模块
//安装模块
npm i electron-window-util
//项目中使用
import Vue from 'vue'
import router from './router'
const electron = require('electron');
const winUtil = require('electron-window-util');
let baseUrl = electron.remote.getGlobal('baseUrl');
let win = new winUtil({
baseUrl: baseUrl,
router: router
});
Vue.prototype.$Win = win;new winUtil(option)
optionObjectbaseUrlString 空闲窗口预加载地址baseWindowConfigObject 基本的窗口配置,与electron的new BrowserWindow()是参数一致routervueRouter vue-routerfreeWindowNumnumber 预备空闲窗口个数
方法
渲染进程 具有以下方法
win.openWin([option])
optionObject(可选)widthnumberheightnumberxnumberynumberresizablebooleanmovablebooleanminimizablebooleanmaximizablebooleanclosablebooleanfocusablebooleanalwaysOnTopbooleanfullscreenbooleanfullscreenablebooleansimpleFullscreenbooleanskipTaskbarbooleankioskbooleantitlestringiconopacitynumberwindowConfigobjectrouterstring|object vue路由,如/my_route,{path:"/my_route"},{name:"my_route"}等namestring(可选) 若不存在可打开N个,若存在只能打开一个dataany(可选) 窗口打开时传递过去的参数animationobject(可选) 动画配置fromConfigobject(可选) 动画开始时的配置xnumber 动画开始时的x坐标ynumber 动画开始时的y坐标widthnumber 动画开始时的窗口宽度heightnumber 动画开始时的窗口高度opacitynumber 动画开始时的窗口透明度
timenumber 动画过渡时间graphsstring 动画过渡曲线
timenumber 窗口自动关闭时间,为0或undefined时不关闭
打开一个新窗口,如果没有name直接打开一个新窗口,如果有name,则判断是否有此name的窗口存在,有就激活该窗口
win.closeWin([option|winName])
optionobject(可选)name要关闭窗口的nameid要关闭窗口的id,若既没有name也没有id,则关闭调用此方法的窗口
~~ *data关闭窗口时回传的数据,暂不可用~~
winNamestring(可选) 窗口的name
关闭窗口
win.isOpen([winName])
winName
返回Boolean类型-如果窗口已打开返回true,其余情况返回false
win.on(channel,listener)
channelStringlistenerFunction
监听channel,当接收到新的消息时 listener 会以 listener(data, winInfo) 的形式被调用。
win.send(channel,sendMsg)
channelStringsendMsgObjectid接收消息窗口的idname接收消息窗口的name,若id和name都没有,则发给所有窗口data
通过 channel 发送异步消息到主进程,可以携带任意参数。 在内部,参数会被序列化为 JSON,因此参数对象上的函数和原型链不会被发送。
win.off(channel,listener)
channelStringlistenerFunction
为特定的 channel 从监听队列中删除特定的 listener 监听者.
win.removeListener(channel,listener)
channelStringlistenerFunction
为特定的 channel 从监听队列中删除特定的 listener 监听者.
win.removeAllListeners(channel)
channelString
移除所有的监听器,当指定 channel 时只移除与其相关的所有监听器。
以上三个貌似有点问题,注销不了
属性
渲染进程 具有以下属性
win.parameter
获取打开窗口时传递的数据
win.winInfo
窗口的信息,包括坐标位置和宽高
win.screenInfo
屏幕信息
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago