2015-07-21 4 views
1

Это странная проблема, но я не уверен, что попробовать отсюда. В моем приложении пользователи могут открывать различные ссылки, для которых я предоставил фрагмент с помощью WebView. Значительная часть этих ссылок - это альбомы Imgur, но по некоторым причинам альбомы не загружаются должным образом в WebView на моем устройстве или эмуляторах, которые я пробовал. Я создал приложение с одним WebView, которое отображает здесь поведение: https://github.com/damien5314/imgur-album-webview.WebView не загружает альбомы Imgur

Я установил отладку WebView в Chrome и загрузил страницу бок о бок в WebView, а также на настольном Chrome с поддержкой мобильной эмуляции. На настольном Chrome страница загружается после получения ответа от api.imgur.com со списком изображений, затем загружает и отображает отдельные изображения после загрузки страницы. В WebView на моем устройстве изображения никогда не загружаются после получения ответа от API Imgur.

Примечание - Только страницы Imgur страницы дают мне вопросы. Загрузка отдельных изображений просто прекрасна.

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

Я хочу сказать, что это вопрос Imgur с их JS на Android, но так как JS является запутывание мои веб-параметры отладки ограничены, не говоря уже о я могу загрузить же ссылку в WebView в аналогичное приложение, поэтому должен быть какой-то способ заставить его работать. Если кто-то видит какие-либо проблемы в моем коде, дайте мне знать, иначе любые предложения по следующим шагам для отладки этой проблемы будут оценены. Благодаря!

+0

Вы нашли что-нибудь? –

+0

У меня еще нет возможности заглянуть в это снова, но я, скорее всего, попробую отлаживать немного больше, а затем, возможно, контактирую с Imgur dev, поскольку эта проблема специфична для их сайта. –

+0

Я читал, что это было обновление от Google, которое нарушило WrbView, и это повлияло на все приложения, но когда я тестирую, это только мое все, что не работает –

ответ

6

Ну, это было на самом деле намного проще, чем первоначально предполагалось. Я не заметил ошибку JavaScript, возникающую при загрузке страницы в WebView, которая не возникала при загрузке страницы в Chrome.

Uncaught TypeError: Cannot read property 'getItem' of null 

После отслеживания JS я обнаружил, что это связано с использованием window.localStorage. Это не разрешено в WebView, если параметр не включен.

mWebView.getSettings().setDomStorageEnabled(true); 

Кредит на ответ: Android webview & localStorage

+0

Большое вам спасибо! –

Смежные вопросы