如何获取 BrowserWindow 的 url?

2022-01-10 00:00:00 electron javascript

这是一个非常基本的问题.在电子中,如何检查 BrowserWindow 的 url/文件名?

This is a pretty basic question. In electron, how do I check the url/filename of a BrowserWindow?

let win;

app.on('ready', () => {
    win = new BrowserWindow();

    win.loadFile(path.join(__dirname, 'public', 'main.html'));

    win.on('closed', () => {
        app.quit();
    })
});

好吧,这么说,这是代码,说在不同的(添加:插入)浏览器窗口中发生某个事件后,我想从主浏览器窗口(win)获取 url.

Ok, so say, this is the code, say after a certain event happens in a different (add:insert) BrowserWindow, I want to get the url from the main BrowserWindow (win).

let addWin;

ipcMain.on('createAddWin', ()=>{

    addWin = new BrowserWindow();

    addWin.loadFile(path.join(__dirname, 'public', 'add.html'));

    addWin.on('closed', () => {
        addWin = null
    });

ipcMain.on('add:insert', (e,insertObject) => {
//some event happens
//retrieve url from main window (win)
});

}); 

我该怎么做呢,我宁愿不必向 win 发送事件,然后通过 ipcRenderer 发送 url,尽管这绝对是可能的.

How do I go about this, I prefer to not have to send an event to the win to then send the url through ipcRenderer, though this is definitely possible.

推荐答案

可以使用 getURL() 窗口的 webContents 实例方法> 实例属性:

Getting the window's URL is possible by using the getURL() instance method of the window's webContents instance property:

let currentURL = win.webContents.getURL();

相关文章