Javascript 如何根据url在具有假帧或真帧的窗口之间切换
我正在用electron创建一个应用程序,它以登录屏幕上带有假框的窗口开始。我想知道当应用程序url更改时,如何将frame属性从“false”更改为“true” 示例:Javascript 如何根据url在具有假帧或真帧的窗口之间切换,javascript,vue.js,electron,vue-cli,Javascript,Vue.js,Electron,Vue Cli,我正在用electron创建一个应用程序,它以登录屏幕上带有假框的窗口开始。我想知道当应用程序url更改时,如何将frame属性从“false”更改为“true” 示例: let win = new BrowserWindow({ width: 1000, height: 650, frame: false, transparent: true }) win.webContents.on('did-navigate-in-page', (event) =>
let win = new BrowserWindow({
width: 1000,
height: 650,
frame: false,
transparent: true
})
win.webContents.on('did-navigate-in-page', (event) => {
if(win.webContents.getURL() == 'http://localhost:8080/#/'){
**win.setFrame(false)**
}else{
**win.setFrame(true)**
}
})
如果你能帮助我,非常感谢。我希望我已经很好地解释了我需要什么。我不相信电子目前提供了一种方法,可以在创建窗口后将窗口从无框更改为有框,或者反之亦然 另一种方法是,当您在应该是框架式或无框架的页面之间导航时,动态创建和销毁窗口。这显然有很多开销和内存中的数据丢失,因此只有在您只需要初始登录屏幕是无框架的情况下才实用。对于这种狭隘的情况,您可以执行以下操作:
let loginWin = new BrowserWindow({
width: 1000,
height: 650,
frame: false,
transparent: true
})
loginWin.webContents.on('did-navigate-in-page', (event) => {
if(loginWin.webContents.getURL() == 'http://localhost:8080/#/'){
let mainWin = new BrowserWindow({
width: 1000,
height: 650
})
mainWin.loadURL('http://localhost:8080/#/')
loginWin.destroy()
}
})
我想,实验性的API还可以用于在两个或多个不同的窗口之间传送一个连续的WebContent
如果您确实需要更频繁地添加和删除窗口chrome,另一个选项是自己绘制chrome。它不会有操作系统的本机风格,但它会有您需要的灵活性。下面是一个为您处理标题栏部分的包:。不确定是否需要可拖动的边框。我不认为Electron目前提供了一种方法,可以在创建窗口后将窗口从无框更改为有框,或者将窗口从无框更改为有框 另一种方法是,当您在应该是框架式或无框架的页面之间导航时,动态创建和销毁窗口。这显然有很多开销和内存中的数据丢失,因此只有在您只需要初始登录屏幕是无框架的情况下才实用。对于这种狭隘的情况,您可以执行以下操作:
let loginWin = new BrowserWindow({
width: 1000,
height: 650,
frame: false,
transparent: true
})
loginWin.webContents.on('did-navigate-in-page', (event) => {
if(loginWin.webContents.getURL() == 'http://localhost:8080/#/'){
let mainWin = new BrowserWindow({
width: 1000,
height: 650
})
mainWin.loadURL('http://localhost:8080/#/')
loginWin.destroy()
}
})
我想,实验性的API还可以用于在两个或多个不同的窗口之间传送一个连续的WebContent
如果您确实需要更频繁地添加和删除窗口chrome,另一个选项是自己绘制chrome。它不会有操作系统的本机风格,但它会有您需要的灵活性。下面是一个为您处理标题栏部分的包:。不确定是否需要拖动边框。正如您所提到的,打开新窗口时效果良好,但我会丢失数据。通过这种方式,我将尝试重新调整我的应用程序,使其具有另一种外观。谢谢你的回答。正如你提到的,当打开一个新窗口时,它工作得很好,但我丢失了数据。通过这种方式,我将尝试重新调整我的应用程序,使其具有另一种外观。谢谢你回答我。