繁体   English   中英

电子:防止<style> tags in DOM from loading

[英]Electron: Prevent <style> tags in DOM from loading

有没有办法在显示页面之前从Electron Webview删除所有样式?

到目前为止,我可以注入JS以在文档加载后删除所有样式:

document.addEventListener("DOMContentLoaded", function(){
  document.querySelectorAll('link[rel="stylesheet"], style').forEach(elem => elem.disabled = true);
});

这里的问题是样式将在删除样式之前显示一小段时间(约1秒)。

我还可以在Main类中使用以下命令在页面加载之前删除所有.css文件:

session.webRequest.onBeforeRequest({urls: ['https://*/*.css', 'http://*/*.css']}, function(details, callback) {
  callback({cancel: true});
});

但是,这不会删除嵌入在DOM中的标签。 要更好地了解我要做什么,可以查看Firefox的“无样式”功能(查看->页面样式->无样式)。

提前致谢。

我有两种方法可以防止这种情况发生:

  1. 使Web视图具有可见性:隐藏的样式,并在以后使其可见。
  2. 指向将去除内联和链接CSS的转发代理

第一个听起来对我来说是一种更快,更可靠的解决方案,但是我还没有尝试过。

让我知道事情的后续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM