WebView无法加载Imgur相册

Dam*_*ehl 1 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
Run Code Online (Sandbox Code Playgroud)

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

Dam*_*ehl 6

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

Uncaught TypeError: Cannot read property 'getItem' of null
Run Code Online (Sandbox Code Playgroud)

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

mWebView.getSettings().setDomStorageEnabled(true);
Run Code Online (Sandbox Code Playgroud)

相信这个答案:Android webview和localStorage