Абсолютные пути в PhoneGap - PullRequest
3 голосов
/ 18 января 2012

Моя ситуация такова: у меня есть index.html и немного JavaScript, который загружает фрагменты HTML с сервера.Внутри этих фрагментов у меня есть несколько URL-адресов к изображениям, например /some/folder/picture.jpg

Конечно, они не работают в PhoneGap.Weinre говорит мне, что PhoneGap пытается загрузить картинку из file:///some/folder/picture.jpg

Есть идеи, как решить эту проблему?Я думал о чем-то вроде базового href или какой-то конфигурации в PhoneGap, где можно указать корневой путь, но я не нашел ничего подобного ...

Спасибо, Майкл

Ответы [ 2 ]

4 голосов
/ 18 марта 2013

У меня была такая же проблема, особенно когда у вас много просмотров (страниц) и вы хотите загрузить один из меню, но вы находитесь в неизвестном месте.

Простой способ обойти это - использоватьобъект window.location.

window.location.href.split('www')[0] + 'www'

Это дает вам абсолютный URL для вашей «базы».Www - это папка, которая имеет отношение к IOS и Android, поэтому это также делает ваше приложение совместимым на нескольких платформах.

Из этого вы можете использовать регулярное выражение, которое передает весь документ, как jquery mobile, с атрибутами data- *, чтобы описать их элементы.Вы просто заменяете регулярное выражение возвращаемым путем.Вы захотите сделать это во время инициализации, иначе это создаст массивную бутылочную горловину.

Надеюсь, это поможет и соответствует тому, что вы ищете.

Приветствия,

Сентенция

0 голосов
/ 23 февраля 2012

Вы не можете сделать это с <base>, потому что / всегда зависит от хоста - его нельзя переопределить, чтобы он находился в подкаталоге. У вас есть два варианта:

  • переписать ваш HTML, чтобы использовать полностью относительные пути, такие как ../../some/folder/picture.jpg (или сделать что-то для вас, чтобы переписать вас как шаг сборки), или

  • изменить «браузер» (обертку PhoneGap), чтобы он загружал URL-адреса по-другому.

Я не знаком с PhoneGap, поэтому не могу комментировать автоматические настройки, но лично я бы начал использовать относительные URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...