安卓内嵌 webview 不能执行 javascript 的原因

您所在的位置:网站首页 安卓注入js 安卓内嵌 webview 不能执行 javascript 的原因

安卓内嵌 webview 不能执行 javascript 的原因

2024-07-05 19:47| 来源: 网络整理| 查看: 265

webview 的设置不对。在 RN 框架里面使用的webview 默认设置是不会有这个问题的。所以不用怎么怀疑RN的配置。可检查的参数

settings.setJavaScriptEnabled(true);

settings.setDomStorageEnabled(true);

WebView.setWebChromeClient(new WebChromeClient());  是否有设备。 RN 框架默认是有设置的。

因为 webview 内核差异,有的手机可以,有的外部浏览器可以但内嵌浏览器不可以。这是因为各种内核各个版本的浏览器内核对javascript语言的支持不一样,特性不一样。比如 ES6 的支持,只要网页代码里面出现 es6 的东西比如 let 声明,一些低版本的系统(android 5.x 以及以下)不能正常运行,并且在 js 的节点里面的所有 js 代码,都会失效,包括 console.log , alert 等跟踪日志的手段都没用了。

当需要访问其他协议进行跳转的时候不能打开微信、支付。需要检查 shouldOverrideUrlLoading 里面是否有做 intent 的跳转。(只是最近碰到的问题,列在一起)

系统浏览器对一些控件做了限制,比如 vivo android 5.1.1 系统里面,把 alert 给屏蔽掉了。

其他待补充



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3