- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个基于 Electron 的浏览器,例如需要渲染客户端应用程序的应用程序。我很想使用 Electron 的 webivew 来渲染我的应用程序,但不推荐使用它们,并且默认情况下也禁用它们。此外,由于 webviews 背后的 chromiums OOPIF(进程外 IFrames)架构,它不再可能捕获对我的应用程序至关重要的键盘和鼠标事件。
所以我正在使用较新的 BrowserView api 并使用它来呈现我的客户端 Web 应用程序。但遗憾的是,我只能使用 before-input-event
捕获键盘事件。事件。
这是我的代码示例。
let mainWindow = null;
app.on('ready', () => {
mainWindow = new BrowserWindow({ show: false });
mainWindow.setBounds({ x: 0, y: 0, width: 800, height: 600 })
mainWindow.once('ready-to-show', () => {
mainWindow.show();
});
let view = new BrowserView()
mainWindow.setBrowserView(view)
view.webContents.loadURL('https://electronjs.org')
view.webContents.on('before-input-event', (event, input) => {
console.log(event, input);
});
});
最佳答案
通过使用 preload webPreferences for browserview 你可以使用 ipcRenderer preload.js 脚本
document.addEventListener('click', (event) => {
ipcRenderer.send('something', event);
});
let view = new BrowserView({
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
}
});
ipcMain.on('something', function (event, arg) {
// your code here
})
关于javascript - Electron BrowserView 未捕获鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57260234/
我有一个基于 Electron 的浏览器,例如需要渲染客户端应用程序的应用程序。我很想使用 Electron 的 webivew 来渲染我的应用程序,但不推荐使用它们,并且默认情况下也禁用它们。此外,
我正在尝试创建自定义菜单/标题栏,但我使用 BrowserView 将其添加到主 BrowserWindow,而不是仅使用 BrowserWindow.loadURL()方法(原因)。 但是,当启用上
我正在将一个 Electron 应用程序从传统的渲染器 + webview 架构移植到使用 BrowserView 的应用程序。对象。该应用程序使用了一些 BrowserWindows显示 webvi
我有这个问题:标签(JLabel)的工具提示被浏览器 View 隐藏。工具提示正确显示在任何其他 java 组件的顶部,但被 BrowserView 隐藏。我想要的是使工具提示在 BrowserVie
我已经通过 Electron Fiddle 尝试了几个版本,但我无法让 electron browserview 使用预加载的 javascript 文件。我关注了Electron BrowserVi
我在 工作 Electron 5.0.3 我想隐藏一个 浏览器 View 这样就不需要重新创建 BrowserView。我对如何实现这一点没有任何偏好。任何解决方案(JS、CSS 等)都足够了。 我已
我试图在同一个窗口中并排放置两个 BrowserView 。此代码运行: const { app, BrowserWindow, BrowserView } = require('electron')
我想使用 BrowserView 在 Electron 中加载外部网页。它具有与 BrowserWindow 几乎相同的 API。 const currentWindow = remote.getCu
我已经通过 paster 添加了几个 BrowserViews,现在我正尝试从 plone.app.testing 运行它们,因为我喜欢可重复和一致的测试。从浏览器手动调用 View 没有任何问题。
我在 BrowserWindow 中有一个 BrowserView(我确实需要两者): const { app, BrowserWindow, BrowserView } = require('ele
正如标题所示,我正在开发一个 ElectronJS 项目,我有多个 BrowserView 对象,并且想为每个窗口使用不同的代理。 我读了here ses.setProxy() 存在,暗示我也许可以使
我想在 Products.Five.browser.BrowserView 中以“编辑”模式呈现 Plone Archetypes 小部件,但似乎皮肤层中的模板有很多设置浏览器 View 。如何在 B
我一直在关注this URL帮助我使用 BrowserView 创建模板 View 。到目前为止,它工作正常,我能够创建一个带有 View 类的模板。 我需要知道的是是否可以将参数传递给 View 类
鉴于 Products.Five是一个集成层,使 Zope 组件架构 (ZCA) 在 Plone 中可用: 是否可以在 Plone 中使用 zope.publisher.browser 或者我是否必须
我将如何放置 electron BrowserView 或 BrowserWindow 内Atom喜欢 in this package ?BrowserView网上有很多例子和 BrowserWind
我正在制作一个允许用户浏览互联网的 BrowserWindow 或 Webview 的应用程序。使用 Youtube 时,如果单击全屏按钮,我的整个 Electron 应用程序都会全屏显示。不是视频,
假设我在同一个 BrowserWindow 中有两个 BrowserView 和一个允许用户在显示 bv1 或 之间切换的 UI 按钮bv2(类似于 Firefox、Chrome 等浏览器中的“选项卡
我是一名优秀的程序员,十分优秀!