Electron - window.open() 函数 和 BrowserWindowProxy 类

window.open() 函数

window.open(url[, frameName][, features])
参数:
url String
frameName String(可选)
features String(可选)
返回值:
Returns BrowserWindowProxy - 创建一个新窗口,并返回一个 BrowserWindowProxy 类的实例。
注意:
features 字符串遵循标准浏览器的格式,但每个 feature 必须是BrowserWindow 选项中的字段。
features string: zoomFactor, nodeIntegration, preload, javascript, contextIsolation, webviewTag.

window.opener.postMessage(message, targetOrigin)
message String
targetOrigin String
将消息发送给指定来源的父窗口,如果未指定来源则发送给*,即所有窗口。

文档地址:window.open()

用法:

// index.html
<button id="pop">弹出</button>
<button id="close">关闭</button>
...
// 新建pop_win.html
...
<body>
    <h2>这是弹出的子窗口</h2>
    <button onclick="sendMsgToParent()">向父窗口传递信息</button>
</body>
<script>
    function sendMsgToParent() {
        window.opener.postMessage('这是来自子窗口的问候1');
        window.opener.postMessage({ // 对象形式
            type: 1,
            message: '这是来自子窗口的问候2'
        })
    }
</script>
...
// renderer.js
let subWin;
document.getElementById('pop').addEventListener('click', () => {
    // window.open('https://www.baidu.com', 'baidu');
    subWin = window.open('pop_win.html', 'popWin');
})

window.addEventListener('message', (msg) => {
    console.log('接受的消息', msg);
})

BrowserWindowProxy 类

操纵子浏览器窗口
文档地址:BrowserWindowProxy 类

用法:

// win.close()
// 不调用卸载事件,便关闭了子窗口。
document.getElementById('close').addEventListener('click', () => {
    subWin.close();
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值