为什么Android WebView.loadDataWithBaseUrl()无法呈现JavaScript?

为什么Android WebView.loadDataWithBaseUrl()无法呈现JavaScript?,第1张

概述鉴于此页面: http://music.10086.cn/newweb/qk/guoso/1C5DB9AC5C346441/t/6.html 启用了JavaScript的WebView可以使用loadUrl()正确打开它并呈现JavaScript. 但是,如果使用HTTP客户端单独加载页面内容,并将loadDataWithBaseUrl()设置为基本URL,则JavaScript无法正常工作: / @H_419_4@ 鉴于此页面:
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 datawebVIEw.loadUrl("http://music.10086.cn/",data,"text/HTML","UTF-8",null);

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

这是在AndroID Ice Cream SanDWich 4.0.3上.

@H_419_4@解决方法 有两件事需要仔细检查:

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

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

@OverrIDepublic 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_419_4@ @H_419_4@ @H_419_4@ @H_419_4@ 总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126592.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存