gpt4 book ai didi

javascript - 自定义window.open

转载 作者:行者123 更新时间:2023-12-03 02:56:09 26 4
gpt4 key购买 nike

您好,我正在使用 Electron,我想更改 window.open功能,以便默认情况下打开隐藏/不可见、最小化和其他一些内容的弹出窗口。

我找到了这段代码: window.open(url, windowName, 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left=10000, top=10000, width=10, height=10, visible=none', '');

但我想让 window.open 的所有调用都这样有这些windowFeatures默认情况下,但仍接受原始 urlwindowName参数。

最佳答案

你可以这样做:

const {app, BrowserWindow, webContents} = require('electron')
const path = require('path')

app.once('ready', () => {
let win = new BrowserWindow() // you may create more
// general callback
const onWindowOpen = (event, url, frameName) => {
event.preventDefault()
const win = new BrowserWindow({
show: false,
frame: false,
resizable: false,
title: frameName
})
win.loadURL(url)
win.webContents.on('new-window', onWindowOpen)
event.newGuest = win
}
// wait every dom-ready
Promise.all(BrowserWindow.getAllWindows().map(br => {
return new Promise((resolve) => {
br.webContents.once('dom-ready', () => { resolve() })
})
})).then(() => {
// register every new-window callback
webContents.getAllWebContents().forEach(wc => {
wc.on('new-window', onWindowOpen)
})
})
// load URL(s) for BrowserWindow(s)
win.loadURL(path.resolve(__dirname, 'your.html'))
})

在这里,我们为每个最初创建的 BrowserWindows 添加监听器到 new-window 事件,并为每个由 window.open 调用创建的 BrowserWindow 添加监听器。新创建的 BrowserWindow 是无框架、不可见且不可调整大小的,因为这似乎完全是您的目标。

希望这有帮助!

关于javascript - 自定义window.open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47610355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com