Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么Android WebView.loadDataWithBaseUrl()无法呈现JavaScript?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_2@
鉴于此页面
http://music.10086.cn/newweb/qk/guoso/1C5DB9AC5C346441/t/6.html

启用了JavaScript的WebView可以使用loadUrl()正确打开它并呈现JavaScript.

但是,如果使用HTTP客户端单独加载页面内容,并将loadDataWithBaseUrl()设置为基本URL,则JavaScript无法正常工作:

// store http://music.10086.cn/newweb/qk/guoso/1C5DB9AC5C346441/t/6.html into data

webView.loadUrl("http://music.10086.cn/",data,"text/html","UTF-8",null);

我怀疑远程脚本没有加载.如何进行WebView日志记录?

这是在Android Ice Cream Sandwich 4.0.3上.

解决方法

有两件事需要仔细检查:

>您已经包含< uses-permission android:name =“android.permission.INTERNET”/>在AndroidManifest.xml中
>您已调用webView.getWebSettings.setJavaScriptEnabled(true);
>您的HTML格式正确

以下代码适用于我,从http://code.jquery.com/加载jquery:

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    mWebView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    mWebView.setWebChromeClient(new MyWebChromeClient());
    String mimeType = "text/html";
    String encoding = "utf-8";
    String html = "<html>  "
      + "<script src='jquery-1.10.1.min.js'></script>"
      + "<script language='javascript'>"
      + "function sayHello() {       "
      + "alert(typeof($));    "
      + "}  </script>  "
      + "<body>    "
      + "   <a onClick='sayHello()'><div style='width:80px; "
      + "   margin:0px auto;  " + "  padding:10px;    "
      + "text-align:center;   " + " border:2px solid #202020;' > "
      + "<br> "
      + "    Click me!   " + "</div></a> " + " </body>" + " </html>";
    mWebView.loadDataWithBaseURL("http://code.jquery.com/",html,mimeType,encoding,null);
}
@H_404_2@

大佬总结

以上是大佬教程为你收集整理的为什么Android WebView.loadDataWithBaseUrl()无法呈现JavaScript?全部内容,希望文章能够帮你解决为什么Android WebView.loadDataWithBaseUrl()无法呈现JavaScript?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: