Загрузка URL в WebView для Android 3.1 не выполняется на устройстве, но работает на эмуляторе - PullRequest
2 голосов
/ 22 октября 2011

Я пытаюсь загрузить следующий URL-адрес в веб-просмотр: index.html? Name

Это прекрасно работает на устройстве и эмуляторе Android 2.2, а также на эмуляторе Android 3.1.Однако, когда я загружаю приложение на моей вкладке Android 3.1 galaxy, у меня появляется ошибка:

Веб-страница недоступна

Веб-страница в файле: ///android_asset/index.html? name может быть временно недоступно или оно может постоянно перемещаться на новый веб-адрес.

Похоже, он не регистрирует, что это локальный ресурс, и пытаетсяполучить доступ к Интернету для этого.Есть идеи, почему это происходит, и только на физическом устройстве 3.1?Если я пытаюсь загрузить только index.html, то все работает нормально.Я сомневаюсь, но может ли это иметь какое-то отношение к знаку вопроса?

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 05 декабря 2011

У меня была такая же проблема, но есть обходной путь ...

Измените? Name вместо #name, и это будет работать, так как именованные якоря поддерживаются Android. Затем вы можете использовать JavaScript, как показано ниже, чтобы обнаружить привязку и воздействовать на нее:

if (window.location.href.search('#name') > 0) 
{
  // Do something
}
0 голосов
/ 22 октября 2011

Согласно стандарту, file:// URL не поддерживают строки запроса, как ваш ?name.Так что это вряд ли ошибка.Что вы пытаетесь достичь в первую очередь?Какая часть вашего кода должна обрабатывать имя?Если JavaScript, затем загрузите страницу, а затем вызовите некоторый JavaScript на ней через другой вызов loadUrl() с javascript: URL.

0 голосов
/ 22 октября 2011

Я думаю, что вы ответили на свой вопрос. По HTTP, «?» в URL используется для отделения параметров URL от основного URL; хотя интересно, что это работает с file: /// android_asset в эмуляторах, я бы не стал называть это ошибкой.

Если вам нужно для передачи аргументов на страницу HTML (возможно, для использования javascript), одним из вариантов будет использование синтаксиса привязки (например, file:///android_asset/index.html#name)

...