无法通过 Javascript 在 WebView 中加载图像
Posted
技术标签:
【中文标题】无法通过 Javascript 在 WebView 中加载图像【英文标题】:Can't Load Image in WebView via Javascript 【发布时间】:2011-02-27 12:52:28 【问题描述】:我的应用使用 WebView 小部件从 Google AdManager 加载广告。 AdManager 为您提供了一个 html sn-p,它是 90% 的 javascript 来调用他们的服务器以加载图像。
-
我将他们的 html sn-p 放入一个字符串中,并使用 String.format 添加几个 AdManager 需要的变量。
我在 WebView 上启用 JavaScript (webView.getSettings().setJavaScriptEnabled(true);)
我将字符串加载到 WebView (webView.loadData(myString, "text/html", "UTF-8");
结果:广告永远不会加载(尽管 WebViewClient 显示了几个 .js 资源加载)。
如果我使用那个确切的字符串并创建一个文件,然后使用 webView.loadUrl("file:///android_asset/test.html"),图像会正确加载。
为什么 loadUrl 可以工作,而 loadData 不行?
顺便说一句,我已经验证 JavaScript 正在运行。我注入了一个小脚本来写出一个文本字符串,它可以工作。
【问题讨论】:
【参考方案1】:WebView 中存在一个从 1.5 开始就存在的错误。尝试改用这条线,看看它是否适合你。
webView.loadDataWithBaseURL("fake://fake.com", myString, "text/html", "UTF-8", null);
【讨论】:
以上是关于无法通过 Javascript 在 WebView 中加载图像的主要内容,如果未能解决你的问题,请参考以下文章
使用 C# 到 JavaScript 的 UWP WebView 中 JSON 的问题无法正确读取
React Native:Webview getUserMedia无法正常工作(onPermissionRequest覆盖?)
通过 WebView2 将对象从 .NET 设置为 JavaScript 代码