美文网首页iOS 坑的集中营
iOS webview 通过注入css文件实现夜间模式

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

作者: 微波炉里的小草鱼 | 来源:发表于2017-09-04 18:03 被阅读40次

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

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


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

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

2.读取本地css文件


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

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

4.然后在didload里注入

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


相关文章

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

    最近项目需要实现夜间模式,因为是老项目,所以原生的界面找了个优秀的第三方库DKNightVersion ,对于老项...

  • iOS WebView加载本地js、css文件

    iOS WebView加载本地js、css文件 思路:对html进行操作,然后webView loadHtml 将...

  • iOS webview夜间模式

    最近做浏览器项目,要求添加一个类似UC浏览器,QQ浏览器的夜间模式,通过各种差,终于发现一种可以管用的办法.目前还...

  • 混合开发-文件预览功能

    实测:IOS:webview 支持 文件通过a链接打开预览Android: webview 受限,需要原生支持通过...

  • 6月复盘篇:iOS问题解决经验总结复盘

    目录一、webView 跳转h5, css 、js如何注入cookie1.1 第三方注入1.2 原生通过js注入二...

  • iOS采坑记录

    采坑记录 iOS 通过 Webview点击下载链接问题 Webview点击下载链接,需要通过文件名下载文件,需要通...

  • Android实现夜间模式的方法(二)

    该文章接上篇 Android实现夜间模式的方法(一) 三.夜间模式的实现方案——单纯夜间模式 1.通过切换主题...

  • 夜间模式

    标签(空格分隔): Android 1、通过切换theme来实现夜间模式。2、通过资源id映射的方式来实现夜间模式...

  • iOS web交互

    iOS极简模式实现Webview网页图片原生预览 IOS中 使用JavaScriptCore 实现OC与JS的交互...

  • AppCompatDelegate.setDefaultNigh

    夜间模式实现方法: 通过定义Theme来实现夜间模式的切换,好处在于,可以实现大量主题,不止局限于黑白模式,缺点也...

网友评论

    本文标题:iOS webview 通过注入css文件实现夜间模式

    本文链接:https://www.haomeiwen.com/subject/triejxtx.html