iOS webview 通过注入css文件实现夜间模式

最近项目需要实现夜间模式,因为是老项目,所以原生的界面找了个优秀的第三方库DKNightVersion ,对于老项目来说很实用,具体的实现方法百度一下很多,这里我主要说下webview的夜间模式的实现。

第一种方式也是很普遍的方式,直接通过更改webview中执行js文件更改body的颜色


对于普通的H5界面 这个方法是没问题的,可以正常修改颜色,但是对于微博和梨视频,等H5界面并不能完全改变,首先想到的是让我们web前端去找到每个标签进行修改,但是工作量巨大,可执行性太差。然后,通过安卓的同事,找到以下的解决方法。

1.首先需要个css文件,里面配置了我们夜间模式的一些参数,大都是颜色之类的。

2.读取本地css文件


这个并没结束,很大的坑,这里的字符串是进行了UTF8编码,但是真正需要的是base64编码的字符串,所以还要进行base64编码,不然的话设置无效

3.对本地文件和js进行拼接

4.然后在didload里注入

至此完成。希望能帮到需要的朋友。另附css文件css文件地址 


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容