欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!
在之前的系列教程中,我们分别为大家介绍了 NW.js 的下载安装基本使用 以及 配置指南 以及 应用程序 `App` 类的介绍。
下面我们继续来为大家介绍 NW.js 中的 Window 类。Window 类是 NW.js 框架对窗口或者窗体的抽象、封装的类,其中定义了各种成员属性、方法 以及 事件,可以让我们对窗体相关的进行各种操作。
下面是该类的成员明细:
类的明细
属性明细
|
属性名 |
描述 |
|
win.window |
获取原生的DOM window对象 |
|
win.x |
窗口的X坐标 |
|
win.y |
窗口的Y坐标 |
|
win.width |
窗口的宽度 |
|
win.height |
窗口的高度 |
|
win.title |
窗口的标题 |
|
win.menu |
窗口的菜单栏对象 |
|
win.isAlwaysOnTop |
窗口是否总在最前 |
|
win.isFullscreen |
窗口是否处于全屏模式 |
|
win.isTransparent |
窗口是否透明 |
|
win.isKioskMode |
窗口是否处于kiosk模式 |
|
win.zoomLevel |
窗口的缩放级别 |
|
win.cookies.* |
访问窗口的cookie |
方法明细
|
方法名 |
描述 |
|
Window.get([window_object]) |
获取指定窗口对象的Window实例 |
|
Window.getAll(callback) |
获取所有窗口的Window实例 |
|
Window.open(url, [options], [callback]) |
打开一个新窗口 |
|
win.moveTo(x, y) |
移动窗口到指定位置 |
|
win.moveBy(x, y) |
相对当前位置移动窗口 |
|
win.resizeTo(width, height) |
调整窗口大小到指定尺寸 |
|
win.setInnerWidth(width) |
设置窗口内部宽度 |
|
win.setInnerHeight(height) |
设置窗口内部高度 |
|
win.resizeBy(width, height) |
相对当前大小调整窗口尺寸 |
|
win.focus() |
使窗口获得焦点 |
|
win.blur() |
使窗口失去焦点 |
|
win.show([is_show]) |
显示窗口 |
|
win.hide() |
隐藏窗口 |
|
win.close([force]) |
关闭窗口 |
|
win.reload() |
重新加载窗口 |
|
win.reloadDev() |
重新加载窗口(开发模式) |
|
win.reloadIgnoringCache() |
忽略缓存重新加载窗口 |
|
win.maximize() |
最大化窗口 |
|
win.unmaximize() |
取消最大化窗口 |
|
win.minimize() |
最小化窗口 |
|
win.restore() |
恢复窗口 |
|
win.enterFullscreen() |
进入全屏模式 |
|
win.leaveFullscreen() |
退出全屏模式 |
|
win.toggleFullscreen() |
切换全屏模式 |
|
win.enterKioskMode() |
进入kiosk模式 |
|
win.leaveKioskMode() |
退出kiosk模式 |
|
win.toggleKioskMode() |
切换kiosk模式 |
|
win.setTransparent(transparent) |
设置窗口透明度 |
|
win.setShadow(shadow) (Mac) |
设置窗口阴影(仅适用于Mac) |
|
win.showDevTools([iframe], [callback]) |
显示开发者工具 |
|
win.closeDevTools() |
关闭开发者工具 |
|
win.getPrinters(callback) |
获取可用打印机列表 |
|
win.isDevToolsOpen() |
检查开发者工具是否打开 |
|
win.print(options) |
打印窗口内容 |
|
win.setMaximumSize(width, height) |
设置窗口最大尺寸 |
|
win.setMinimumSize(width, height) |
设置窗口最小尺寸 |
|
win.setResizable(resizable) |
设置窗口是否可调整大小 |
|
win.setAlwaysOnTop(top) |
设置窗口是否总在最前 |
|
win.setVisibleOnAllWorkspaces(visible) (Mac and Linux) |
设置窗口是否在所有工作区可见(仅适用于Mac和Linux) |
|
win.canSetVisibleOnAllWorkspaces() (Mac and Linux) |
检查是否可以设置窗口在所有工作区可见(仅适用于Mac和Linux) |
|
win.setPosition(position) |
设置窗口位置 |
|
win.setShowInTaskbar(show) |
设置窗口是否在任务栏显示 |
|
win.requestAttention(attension) |
请求用户注意(如闪烁任务栏图标) |
|
win.capturePage(callback [, config ]) |
捕获窗口页面截图 |
|
win.captureScreenshot(options [, callback]) |
捕获窗口屏幕截图 |
|
win.setProgressBar(progress) |
设置任务栏进度条 |
|
win.setBadgeLabel(label) |
设置应用程序标记标签 |
|
win.eval(frame, script) |
在指定框架中执行JavaScript代码 |
|
win.evalNWBin(frame, path) |
在指定框架中执行NW.js二进制文件 |
|
win.evalNWBinModule(frame, path, module_path) |
在指定框架中执行NW.js二进制模块 |
|
win.removeAllListeners([eventName]) |
移除所有或指定事件的监听器 |
事件明细
|
事件名 |
描述 |
|
close |
窗口关闭时触发 |
|
closed |
窗口完全关闭后触发 |
|
loading |
窗口开始加载时触发 |
|
loaded |
窗口加载完成时触发 |
|
document-start(frame) |
文档开始加载时触发,参数为相关框架 |
|
document-end(frame) |
文档加载结束时触发,参数为相关框架 |
|
focus |
窗口获得焦点时触发 |
|
blur |
窗口失去焦点时触发 |
|
minimize |
窗口最小化时触发 |
|
restore |
窗口从最小化状态恢复时触发 |
|
maximize |
窗口最大化时触发 |
|
move(x, y) |
窗口移动时触发,参数为新的坐标 |
|
resize(width, height) |
窗口大小改变时触发,参数为新的尺寸 |
|
enter-fullscreen |
进入全屏模式时触发 |
|
leave-fullscreen |
离开全屏模式时触发 |
|
zoom |
窗口缩放级别变化时触发 |
|
capturepagedone |
页面截图完成时触发 |
|
devtools-opened(url) |
开发者工具打开时触发,参数为开发者工具的URL |
|
devtools-closed |
开发者工具关闭时触发 |
|
new-win-policy (frame, url, policy) |
新窗口策略事件,用于控制如何打开新窗口 |
|
navigation (frame, url, policy) |
导航事件,用于控制页面导航行为 |
基本实例
接下来我们分别用几个实例来演示属性、方法 以及 事件的基本使用。
属性实例
代码:
NW.js 窗口属性示例
NW.js 窗口属性示例
win.window:
win.x:
win.y:
win.width:
win.height:
win.title:
win.isAlwaysOnTop:
win.isFullscreen:
win.isTransparent:
win.isKioskMode:
win.zoomLevel:
欢迎大家来到IT世界,在知识的湖畔探索吧!
截图:
方法实例
01)打开关闭
欢迎大家来到IT世界,在知识的湖畔探索吧!
启动窗体
启动窗体
点击下方按钮打开第二个窗体。
Second Window
Second Window
点击下方按钮尝试关闭窗体。
02)窗体传值
欢迎大家来到IT世界,在知识的湖畔探索吧!
启动窗体
启动窗体
点击下方按钮打开第二个窗体。
来自 second.html 的文本:
尚无文本
Second Window
Second Window
在下方输入文本:
事件实例
欢迎大家来到IT世界,在知识的湖畔探索吧!
NW.js 事件演示
NW.js 事件演示
触发下列事件后,事件信息将显示在下方日志中:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/92764.html