getAllViews()向我显示了一个所有浏览器视图的列表
[ BrowserView {}, BrowserView {}, BrowserView {} ]
我想BrowserView.fromId(id)应该可以帮助我选择其中的一个,但是我不知道如何为BrowserView设置唯一的id。我的实际问题,如果你建议另一个解决方案:如何保持我的浏览器视图有组织并选择要显示的特定视图?
brgchamk1#
你可以使用window来区分你的浏览器视图,因为每个浏览器视图都有唯一的tagId,就像这样:执行JavaScript(“窗口.标签ID= '测试ID'“);然后查看.webContents.executeJavaScript(“window.tagId”)以获取标记ID,这将帮助您进行区分。如果你的浏览器视图需要重新加载,你可以使用webContents.preload属性来帮助你。
vawmfj5a2#
这很容易处理,当你新建浏览器视图后,你会在你的浏览器视图的网页内容中得到id所以你只需要存储id**表单browser查看你想要的,然后放入一个变量当得到你想要的浏览器视图时,可以通过www.example.com为每个浏览器视图webcontents.id看关键代码
let youwantViewId: number = 0 const mainWindow = new BrowserWindow({ width: 800, height: 600 }) const view = new BrowserView({ webPreferences:{} }) mainWindow.addBrowserView(view) view.setBounds({ x: 0, y: 0, width: 800, height: 600 }) view.webContents.loadURL('https://XXXXXX/public/office-prefetch/office-prefetch.html') youwantViewId = view.webContents.id // ------------------------------------ setTimeout(() => { mainWindow.getBrowserViews().forEach((item) => { if (item.webContents.id === youwantViewId) { console.error(item) } }) },5000)
2条答案
按热度按时间brgchamk1#
你可以使用window来区分你的浏览器视图,因为每个浏览器视图都有唯一的tagId,就像这样:执行JavaScript(“窗口.标签ID= '测试ID'“);
然后查看.webContents.executeJavaScript(“window.tagId”)以获取标记ID,这将帮助您进行区分。
如果你的浏览器视图需要重新加载,你可以使用webContents.preload属性来帮助你。
vawmfj5a2#
这很容易处理,当你新建浏览器视图后,你会在你的浏览器视图的网页内容中得到id
所以你只需要存储id**表单browser查看你想要的,然后放入一个变量
当得到你想要的浏览器视图时,可以通过www.example.com为每个浏览器视图webcontents.id
看关键代码