【问题标题】:Can't Load Image in WebView via Javascript无法通过 Javascript 在 WebView 中加载图像
【发布时间】:2011-02-27 12:52:28
【问题描述】:

我的应用使用 WebView 小部件从 Google AdManager 加载广告。 AdManager 为您提供了一个 HTML sn-p,它是 90% 的 JavaScript 来调用他们的服务器以加载图像。

  1. 我将他们的 html sn-p 放入一个字符串中,并使用 String.format 添加几个 AdManager 需要的变量。
  2. 我在 WebView 上启用 JavaScript (webView.getSettings().setJavaScriptEnabled(true);)
  3. 我将字符串加载到 WebView (webView.loadData(myString, "text/html", "UTF-8");

结果:广告永远不会加载(尽管 WebViewClient 显示了几个 .js 资源加载)。

如果我使用那个确切的字符串并创建一个文件,然后使用 webView.loadUrl("file:///android_asset/test.html"),图像会正确加载。

为什么 loadUrl 可以工作,而 loadData 不行?

顺便说一句,我已经验证 JavaScript 正在运行。我注入了一个小脚本来写出一个文本字符串,它可以工作。

【问题讨论】:

    标签: android


    【解决方案1】:

    WebView 中存在一个从 1.5 开始就存在的错误。尝试改用这条线,看看它是否适合你。

    webView.loadDataWithBaseURL("fake://fake.com", myString, "text/html", "UTF-8", null);
    

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      相关资源
      最近更新 更多