电子:在网络视图中确认和警告网站不显示
Electron : Confirm and Alert of a website in a webview doesn't show
我有一个 electron 应用程序,在我的 BrowserWindow 中加载的页面中有一个 webview。
本网站在某些情况下会发出确认或警报,但电子显示它们。有没有办法修改这种行为,例如我在网站页面上注入的代码?
您可以尝试注入如下代码:
window.confirm = function (msg) {
console.log('always agree:', msg);
return true;
};
覆盖确认事件。您可以对警报或您喜欢的内容执行相同的操作。
遗憾的是,我认为您无法通过 Electron 管理事件:
request
更新
问题修改后,你要SHOW alert之类的。
所以,你可以按照回答:
prompt
、confirm
和 alert
是阻止脚本执行线程直到用户输入的函数,这就是电子团队不支持它的原因。出于同样的原因,您可以使用一些第三方包。
这里有一些以异步方式提供此功能的包
https://www.npmjs.com/package/smalltalk
因为当用户在修改一些数据后想要退出页面时网站正在提醒。该网站正在使用 document.body 的 onbeforeunload
属性。
所以我正在使用 MutationObserver
编写一段代码来监听 webview 在这个属性中的注入代码并自己重置它加上使用位于 override.js
中的 Electron Confirm
来警告采用。由于其他问题尚未完成,但就是这样...
我有一个 electron 应用程序,在我的 BrowserWindow 中加载的页面中有一个 webview。 本网站在某些情况下会发出确认或警报,但电子显示它们。有没有办法修改这种行为,例如我在网站页面上注入的代码?
您可以尝试注入如下代码:
window.confirm = function (msg) {
console.log('always agree:', msg);
return true;
};
覆盖确认事件。您可以对警报或您喜欢的内容执行相同的操作。
遗憾的是,我认为您无法通过 Electron 管理事件: request
更新
问题修改后,你要SHOW alert之类的。
所以,你可以按照
prompt
、confirm
和 alert
是阻止脚本执行线程直到用户输入的函数,这就是电子团队不支持它的原因。出于同样的原因,您可以使用一些第三方包。
这里有一些以异步方式提供此功能的包
https://www.npmjs.com/package/smalltalk
因为当用户在修改一些数据后想要退出页面时网站正在提醒。该网站正在使用 document.body 的 onbeforeunload
属性。
所以我正在使用 MutationObserver
编写一段代码来监听 webview 在这个属性中的注入代码并自己重置它加上使用位于 override.js
中的 Electron Confirm
来警告采用。由于其他问题尚未完成,但就是这样...