## [**window-open**](https://electronjs.org/docs/api/window-open)
>彈出子窗口
渲染主窗口index.html
```
....
<button onclick="openNewWindow()">彈出窗口</button>
<button onclick="closeWindow()">關閉窗口</button>
<script src="renderer/index.js"></script>
....
```
index.js
```
const wb=document.querySelect("#wb");
let subwin;
function openNewWindow(){
subwin=window.open("popup_page.html","popup");
}
//message參數接受子窗口的消息
window.addEventListener("message",(msg)=>{
console.log("接受到的消息",msg);
})
function closeWindow(){
subwin.close();
}
```
popup_page.html
```
....
<button onclick="sendMessageTopParent()">點擊傳遞消息</button>
<script>
//子窗口與父窗口之間的消息傳遞
function sendMessageTopParent(){
window.opener.postMessage({
type:1,
message:"這是來自子窗口的消息"
});
}
</script>
....
```
## [**BrowserWindowProProxy**](https://electronjs.org/docs/api/browser-window-proxy)
>操作子窗口
- npm
- 更新
- 基礎
- Api
- 安裝Node
- node_modules本地安裝與全局安裝
- Inspector
- 模塊
- hello world
- 安裝插件的版本
- 更新package.json文件的插件版本
- 使用nodejs開發桌面客戶端應用
- Electron
- api
- 使用 Node.js 的 API
- 事件
- electron配置
- 安裝
- 調試
- 讀取本地文件
- 調用Html5的拖放api
- 官方示例下載
- WebView內嵌窗口
- window.open彈出子窗口及其操作
- BrowserWindow渲染主窗口
- 主進程與渲染進程的通信
- 菜單
- 網絡
- 與react結合
- 打包
- 前言
- 對比
- electron-forge
- 打包工具一:electron-packager
- 打包工具二:electron-builder
- Boilerplates樣板工程
- 通用配置文檔
- NW.js
- npm install、npm install --save與npm install --save-dev區別