WebView无法加载Imgur相册

时间:2015-07-21 15:14:45

标签: javascript android webview imgur

这是一个奇怪的问题,但我不确定该怎么做。在我的应用程序中,用户可以打开各种链接,我已经为其提供了一个带有WebView的Fragment。这些链接中很大一部分是Imgur专辑,但由于某些原因,我的设备或我尝试过的模拟器上的专辑无法正确加载专辑。我已经设置了一个带有单个WebView的应用程序,该应用程序在此显示行为:https://github.com/damien5314/imgur-album-webview

我在Chrome中设置了WebView调试,并在WebView中以及在启用了移动设备仿真的桌面Chrome上并排加载了页面。在桌面Chrome上,页面在从api.imgur.com收到带有图像列表的响应后加载,然后在页面加载后下载并显示各个图像。在我的设备上的WebView上,在收到Imgur API的响应后,永远不会下载图像。

注意 - 只有Imgur 相册页面给我提问。单个图像加载得很好。

mWebView.loadUrl("http://imgur.com/a/2dtj8"); // Album, does not load images
// mWebView.loadUrl("https://imgur.com/X2eInSx"); // Single image, works fine

我想说这是他们在Android上的JS的Imgur问题,但由于JS被混淆了我的网页调试选项是有限的,更不用说我可以在WebView中加载相同的链接在一个类似的应用程序中,所以必须有一些方法使它工作。如果有人在我的代码中看到任何问题让我知道,否则任何有关调试此问题的后续步骤的建议将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:6)

嗯,这实际上比原先想象的容易得多。我没有注意到在WebView中加载页面时发生了JavaScript错误,这在Chrome中加载页面时没有发生。

Uncaught TypeError: Cannot read property 'getItem' of null

在跟踪JS时,我发现这是因为使用了window.localStorage。除非启用该设置,否则在WebView中不允许这样做。

mWebView.getSettings().setDomStorageEnabled(true);

相信这个答案:Android webview & localStorage