Android WebView loadUrl JavaScript无法使用API​​< = 18(但可以在API> = 19中使用) [英] Android WebView loadUrl JavaScript not working API <=18 (but works in API >=19)

查看:78
本文介绍了Android WebView loadUrl JavaScript无法使用API​​< = 18(但可以在API> = 19中使用)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:
要使webView.loadUrl(javaScript)在API 18或更低版本(与API 19或更高版本相比)下工作,我该怎么办?

QUESTION:
What do I have to do to make webView.loadUrl(javaScript) work in API 18 or lower (in comparison to API 19 or higher)?

问题描述:
我正在使用WebView进行聊天.

DESCRIPTION OF PROBLEM:
I am using WebView to make a chat.

  1. 首先,我像这样加载HTML: webView.loadUrl(url);
  2. 然后我再次使用loadUrl发送聊天消息,如下所示: webView.loadUrl(javaScript);

这在API> = 19时效果很好,但在API< = 18中不起作用.

聊天消息仍然会从其他设备接收,但是其他设备不会从API 18或更低版本的设备获得一条消息. 使用完全相同的代码.

Chat messages do still get received from other devices but the other devices do not get a single message from the device with API 18 or lower. The exact same code is used.

我已经搜索了很多,并将继续搜索.如果您有答案,我可以测试或可以将我重定向到相关信息的任何想法,请务必分享.预先谢谢你.

I've searched a lot and will continue to search. If you have the answer, any idea that I could test or could redirect me to relevant information please do share. Thank you in advance.


字符串中的JavaScript标记设置为小写(存在相同的问题): webView.loadUrl("javascript:" + javaScriptFunction);

推荐答案

解决方案

我发现了一个问题,那就是JavaScript函数中发送的(编码)消息参数中有一个换行符[ \ n ].使用拆分功能 msg.split("\ n"); 将其删除即可.

SOLUTION

I found the problem which was that the (encoded) message parameter sent in the JavaScript function had a line break [ \n ] in it. Removing that using the split function msg.split("\n"); made it work.

这篇关于Android WebView loadUrl JavaScript无法使用API​​&lt; = 18(但可以在API&gt; = 19中使用)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆