Приложение PhoneGap jQuery-Mobile, использующее как локальные, так и серверные страницы

У меня есть базовое приложение PhoneGap/jQuery-Mobile на iOS, которое изначально загружает страницу index.html, которая является частью приложения. На этой странице есть ссылка, которая ведет на страницу нашего мобильного сайта (не развернутого как часть приложения). Это работает так, как я хотел, потому что, когда я нажимаю на ссылку, она загружает мобильную страницу в моем приложении (я обновил PhoneGap.plist ExternalHosts, чтобы он загружался в моем приложении, а не в Safari).

Мой вопрос: могу ли я с мобильной страницы, отображаемой в моем приложении, но не являющейся частью моего приложения, ссылаться на страницу, которая является часть моего приложения? Это вообще возможно? Если нет, каковы мои варианты достижения такого же поведения?

Основной дизайн, который я хотел бы для своего приложения, состоит в том, чтобы иметь какое-то меню, которое всегда видно, с кнопками, которые возвращают вас в меню разных страниц в приложении (например, «Главная», «Мобильный сайт», «Камера» и т. д.). Щелчок по ссылке меню загружает мобильную веб-страницу под панелью навигации, и эта страница может быть локальной для приложения Phonegap ИЛИ удаленной страницей на нашем сервере. (опционально панель меню/навигации может быть частью мобильного сайта, но это будет работать только в том случае, если кнопка «Домой» в меню страницы мобильного сайта загружает страницу index.html приложения).

План состоит в том, чтобы поддерживать единую кодовую базу для приложений на iOS и Android и по-прежнему получать доступ к возможностям телефона, таким как камера, с помощью PhoneGap. Однако вместо того, чтобы писать вызовы .ajax для каждого обмена информацией на стороне сервера (поиск, обновления баз данных и т. д.), мы могли бы использовать некоторые из наших существующих форм и страниц на стороне сервера, уже размещенных как страницы .aspx, обслуживая их в нашем Приложение PhoneGap. Возможность связывать страницы в моем приложении и на моем мобильном сайте (все с использованием JQuery Mobile) была бы идеальной, если это возможно. Возможность включить phonegap.js на страницы нашего удаленного сервера и включить вызовы javascript API для phonegap изнутри этих страниц было бы еще одним большим бонусом, если бы это было возможно.

Надеюсь, это имеет смысл.

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


person Community    schedule 27.12.2011    source источник
comment
Вы нашли какие-нибудь полезные ответы? У нас тоже такая проблема. Должен быть способ вернуться к родному приложению, но я не могу его найти. ТИА.   -  person Mat E.    schedule 20.02.2012
comment
Да, мы сделали. Мы использовали ChildBrowser, как я описал ниже. Нам пришлось изменить пользовательский интерфейс ChildBrowser как на iOS, так и на Android, чтобы скрыть адресную строку и панель инструментов. Потребовалось немного усилий, чтобы наш заголовок / строка меню мобильного сайта соответствовали нашей родной строке заголовка. Конечным результатом является безупречное взаимодействие — вы буквально не можете сказать, просматриваете ли вы нативную страницу или страницу, обслуживаемую с нашего мобильного сайта.   -  person    schedule 24.02.2012


Ответы (2)


Да, мы сделали. Мы использовали ChildBrowser, как я описал ниже. Нам пришлось изменить пользовательский интерфейс ChildBrowser как на iOS, так и на Android, чтобы скрыть адресную строку и панель инструментов. Потребовалось немного усилий, чтобы наш заголовок / строка меню мобильного сайта соответствовали нашей родной строке заголовка. Конечным результатом является безупречное взаимодействие — вы буквально не можете сказать, просматриваете ли вы нативную страницу или страницу, обслуживаемую с нашего мобильного сайта.

person Community    schedule 17.06.2015

Я подозреваю, что href может указывать на файл:///asset/www локально, и он должен загружаться. Если вы связали реальный URL-адрес в качестве его переключаемых хостов, он будет загружаться с сервера, поэтому лучше всего использовать локальные пути. Вы всегда можете запустить проверку браузера на своем сервере и вывести пути, относящиеся к IOS, Android и т. д.

Вы также проверили, будет ли приложение одобрено Apple, если его оболочка загружает контент с вашего сайта?

person Matt    schedule 27.12.2011
comment
Пробовал всевозможные комбинации путей с использованием файлового протокола, но со страницы сервера ничего не получалось. Я вывел путь к файлу на симуляторе iPhone, но этот путь нецелесообразен для использования и все равно не работал: file:///Users/bt/Library/Application Support/iPhone Simulator/4.3/Applications/FED4C20C -048A-4CF4-A5D1-A63EAEC5A881/HelloWorld.app/www/index.html. Если я использую эту ссылку на локальной странице (развернутой как часть приложения), она перейдет на связанную страницу. Но если эта же ссылка находится на странице сервера, она ничего не сделает. Есть ли какое-то другое обозначение для локального пути? - person ; 28.12.2011