Can't Load Image in WebView via Javascript
My app uses a WebView widget to load ads from Google AdManager. AdManager gives you an HTML snippet, which is 90% JavaScript to cal开发者_如何学编程l their server for the image to load.
- I put their html snippet into a string and use String.format to add in several variables that AdManager requires.
- I enable JavaScript on the WebView (webView.getSettings().setJavaScriptEnabled(true);)
- I load the string into the WebView (webView.loadData(myString, "text/html", "UTF-8");
result: the ad never loads (although the WebViewClient shows several .js resources loading).
If I take that exact string and create a file and then use webView.loadUrl("file:///android_asset/test.html"), the image loads properly.
Why would loadUrl work but loadData does not?
BTW, I've verified that JavaScript is running. I injected a little script to write out a text string and it works.
There is a bug in WebView that's been there since about 1.5. Try using this line instead and see if it works for you.
webView.loadDataWithBaseURL("fake://fake.com", myString, "text/html", "UTF-8", null);
精彩评论