webview_flutter 3.0.4-暗模式不起作用



我有一个具有明暗主题的flutter应用程序。主题是根据设备主题选择的,也可以在应用程序中本地更改。但是在webview中,背景总是浅色,我不知道如何将webview主题更改为深色。关于如何解决这个问题,你有什么建议吗?

网络视图基本上是显示容器中的网站。您在应用程序中管理的主题未连接到您在WebView中加载的网站。要更改网站的主题,您可能应该直接编辑网站。

因此,解决我的问题的解决方案是注入如下javascript:

String js = "javascript: (function () { var css = 'html {-webkit-filter: invert(100%);' +    '-moz-filter: invert(100%);' +     '-o-filter: invert(100%);' +     '-ms-filter: invert(100%); }',head = document.getElementsByTagName('head')[0],style = document.createElement('style');style.type = 'text/css';if (style.styleSheet){style.styleSheet.cssText = css;} else {style.appendChild(document.createTextNode(css));}head.appendChild(style);}());";

controller.runJavascript(js);

这段代码进行颜色反转,当然您可以通过javascript注入css,并进行更复杂的更改。

相关内容

  • 没有找到相关文章