2010-11-26 1 views
4

Я создал мобильный сайт с помощью jQTouch, и теперь я работаю над тем, чтобы тот же сайт работал с PhoneGap. Для PhoneGap я переместил большинство всех активов (страницы, изображения, JS, CSS и т. Д.) В каталог www, но мне все равно нужно загрузить некоторый динамический контент через Ajax. С мобильного сайта я использую относительные URL-адреса для загрузки дополнительного контента. Однако с помощью PhoneGap я не нашел способ использовать относительные URL-адреса для доступа к мобильному сайту и был вынужден использовать абсолютные URL-адреса. Мой вопрос таков: Есть ли способ использовать относительные URL-адреса с помощью PhoneGap? Возможно, что-то вроде установки базового URL-адреса во время инициализации PhoneGap?PhoneGap Относительный URL

ответ

4

При использовании PhoneGap основные файлы будут на телефоне, поэтому относительные файлы будут относиться к местоположению на телефоне.

Если вам нужен доступ к файлу на удаленном сервере (ваш мобильный сайт), то он должен быть указан абсолютно.

Если ваш основной HTML страницы в вашем приложении PhoneGap находится в file://www/index.html и вы пытаетесь получить доступ к относительно файла (скажем, «logo.png») и поэтому указать <img src="logo.png" /> вы действительно получаете его от file://www/logo.png.

Если вы действительно хотели версию logo.png, которая на самом деле находится на вашем удаленном веб-сайте, вы должны предоставить полный (абсолютный) путь или нет возможности для браузера знать, что когда вы укажете «logo.png», вы имеете в виду тот, который находится на странице http://www.your-site.com/logo.png.

+0

Спасибо Мт. Я думал, что это может быть ответ. Было бы здорово, если бы у PG был init, который взял базовый URL. Определенно поможет при переносе с существующего мобильного телефона. Сделал бы мое приложение Rails более простым в том, что ему не пришлось бы выводить разные виды. – 2010-11-28 06:11:46

+0

проверьте это, вы можете иметь ссылку PhoneGap на внешний корневой путь, например, вашу промежуточную среду или ваш локальный сервер: http://www.joeldare.com/wiki/open_a_url_in_phonegap – 2011-05-09 18:12:13

3

Вы можете попробовать using the <base> tag. Это позволит установить базовый URL, чтобы все, что вам нужно:

<base href="http://yourdomain.com/"> 
<script src="js/remotescript.js"></script> 

Примечание это означает, что теперь ваши местные скрипты должны быть в абсолютной форме:

<script src="http://localhost/js/phonegap.js"></script> 

См this other question for more info об этой записке. Парень там предлагает предварять точку (.) до локального относительного URL, хотя я не испытывал этого:

<script src="./js/phonegap.js"></script>