【发布时间】:2016-03-28 06:33:34
【问题描述】:
所以最近我试图通过在清单文件中设置android:targetSdkVersion="23" 来为 Android 6 构建我的应用程序,一切顺利,但后来我注意到 webview 的奇怪行为。
在我的应用程序中,我首先使用 webview.LoadData (someHtmlContent, "text/html; charset=UTF-8", null); 将一些内容加载到 webview 中,然后用户可以随时使用应用程序菜单中的一些按钮来更改文本大小。这些按钮的工作方式如下:
webview.LoadUrl ("javascript:" + "document.getElementsByTagName(\"body\")[0].style.fontSize = \"" + size + "%\";");
size 是一个字符串,可以是从 100%(初始大小)到 110%、120% 和 ...
此方法有效地将 JavaScript 注入到已经存在的内容 (HTML) 中,并且在 Android 5 及更低版本上完美运行,但在 Android 6 上则不行。
在 Android 6 中,当用户点击一个注入 JS 的按钮时,它只是将 webview 的内容替换为size 变量。
谁能帮忙?
【问题讨论】:
标签: javascript android webview xamarin android-6.0-marshmallow