电子:如何动态创建窗口?

时间:2018-03-10 14:08:42

标签: javascript electron

有没有办法用一个函数创建任何窗口,并且能够识别它?

let newWindow;

function createNewWindow(window) {
        newWindow = new BrowserWindow({width: 600, height: 400});
        newWindow.loadURL(`file://${__dirname}/windows/${window}.html`)
    }
}

createNewWindow("window1"); // Loads window1.html
createNewWindow("window2"); // Loads window2.html

现在的问题是两个窗口都是newWindow创建的,例如调用newWindow.focus()会聚焦第二个窗口。

1 个答案:

答案 0 :(得分:2)

因为您正在为两个窗口共享变量。在第二次createNewWindow('window2')调用之后,newWindow指向第二个BrowserWindow。尝试使用不同的变量。

function createNewWindow(window) { 
        const newWindow = new BrowserWindow({width: 600, height: 400});
        newWindow.loadURL(`file://${__dirname}/windows/${window}.html`)
        return newWindow;
    }
}

let secondWindow = createNewWindow("window2");