android webView 修改页面字体颜色
问题描述:
webview加载一个界面后,在onPageFinished中加入修改页面字体颜色css,如下String nightCode = "";
try {
InputStream is = getResources().openRawResource(R.raw.day);
byte[] buffer;
buffer = new byte[is.available()];
is.read(buffer);
is.close();
nightCode = Base64.encodeToString(buffer, Base64.NO_WRAP);
} catch (IOException e) {
e.printStackTrace();
}
mWeb.loadUrl("javascript:(function() {"
+ "var parent = document.getElementsByTagName('head').item(0);"
+ "var style = document.createElement('style');"
+ "style.type = 'text/css';"
+ "style.innerHTML = window.atob('" + nightCode + "');"
+ "parent.appendChild(style)" + "})();");
加载完成后,每次都是先显示原来的页面,过一秒左右在页面所有字体颜色都修改了,有什么办法显示页面之前就替换好字体颜色,先谢谢各位了。
答
交给前端人员处理,不是你能解决的。
答
提取公共的样式,就可以搞定
答
别用js修改样式啊,直接在页面把样式写到页面元素的标签里面
答
写到页面元素的标签里
答
#include
using namespace std;
int main()
{
/*
代码
*/
system("pause");
return 0;
}
答
写到页面元素的标签里面,可以吧
答
你这个的原因是:**在onPageFinish的时候再修改数据,页面已经加载完了,所以才会有这种过了一会再变的效果**
解决方案1:
自己读取网页数据,更改对应的样式之后,再加载页面
解决方案2:
WEB端提供接口,根据不同的API返回不同的样式
答
提取前面的样式就可以了
答
可以用行内样式,虽然不规范