无法通过 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 代码

WebView 不加载 javascript 代码

通过 javascript 检测 ipad/iphone webview

即使在启用 Javascript 后 WKWebView 也无法正常工作 - Swift