Ссылки на удаленные сайты JQueryMobile в приложении PhoneGap открывают Safari - PullRequest
5 голосов
/ 19 августа 2011

У меня довольно специфическая проблема с PhoneGap и JQuery Mobile, использующими последние версии обеих платформ на момент написания этой статьи.

У моего приложения phonegap есть некоторые страницы, "локальные" для приложения, и другиестраницы, которые загружаются непосредственно с удаленного сайта.Переход между локальной и удаленной страницами - это нормально (перехода нет, но с этим ничего не поделаешь).Однако, как только я попадаю на удаленные страницы, любая ссылка, которую я нажимаю на удаленных страницах, открывает Safari со страницей, которую я запросил.Это нежелательная функциональность, так как я хотел бы, чтобы все это было в UIWebView, и ни одна из моих ссылок не помечена чем-то особенным, что могло бы открыть Safari.

Это становится страннее.Если я затем переключаюсь из Safari обратно в программу, в UIWebView появляется запрашиваемая мной удаленная страница, однако нажатие кнопки «Назад» приводит меня не к первой удаленной странице, а к первой локальной странице.

Приложение телефонной связиПрямо сейчас это совершенно пусто, очень близко к значению по умолчанию, за исключением загруженного JQM css + js.Это происходит, даже если я создаю простое тестовое приложение с одной локальной страницей JQM, одной удаленной страницей JQM, а затем удаленной страницей, на которую ссылается удаленная страница JQM.

Я в тупике.Что здесь происходит?

1 Ответ

13 голосов
/ 19 августа 2011

Поведение по умолчанию для PhoneGap заключается в открытии внешних ссылок в Safari, если они не добавлены в свойство ExternalHosts в PhoneGap.plist.

Попробуйте добавить внешние хосты, и PhoneGap должен работать правильно и загружать внешние расположения внутриприложения.

http://30.media.tumblr.com/tumblr_lps449iRXW1qbmzy5o1_500.png

Здесь также находится публикация об использовании iFrames и ExternalHosts, которая также может оказать некоторую помощь.

...