Ответ 1
В общем случае приложения PhoneGap не подвергаются ограничениям междоменной безопасности после их развертывания на мобильном устройстве. Причины этого различны в зависимости от платформы, для которой вы разрабатываете, но для iPhone это связано с тем, что ваши локальные ресурсы PhoneGap загружаются в браузер на iPhone с помощью URI file:///
; это позволяет обойти ограничение безопасности между доменами. Если вы создаете обычный веб-сайт, размещаемый на сервере, тогда вы ограничены этой политикой безопасности. Это одно из преимуществ создания приложений PhoneGap.
-
Я не знаком с Sencha на 100%, но вы можете использовать любую фреймворк поверх основного объекта XMLHttpRequest для междоменной связи в PhoneGap. Будь то Sencha, jQuery, xui, MooTools и т.д.
-
Для тестирования приложений PhoneGap я обычно использую комбинацию своих настольных браузеров и некоторую дополнительную оснастку, чтобы помочь мне. В вашем случае, если вы загружаете приложение PhoneGap локально на свой компьютер в браузере, таком как Safari (что позволяет сделать XHRs с URI
file:///
), вы не увидите проблем между доменами. Safari - один из немногих браузеров, который позволяет вам это делать. Кроме того, вы можете использовать прокси-сервер на своем локальном компьютере и локальный веб-сервер сделать сетевые запросы и прокси-сервер обратно в ваше приложение. Я обычно использую удивительный инструмент под названием sleight, который является node.js веб-сервером который будет запрашивать обратные запросы к целевому внешнему домену, если сервер не может найти запрашиваемый актив локально на вашем компьютере. Я попытаюсь выложить пример использования ловкости для вас:- Предположим, что ваши приложения приложения PhoneGap расположены под ~/src/www, причем приложение находится в index.html
- Также предполагается, что вы хотите получить доступ к домену abc.com из приложения PhoneGap.
Вы бы использовали ловкость, как это:
$ cd ~/src/www
$ sleight target=abc.com
Теперь у вас работает локальный веб-сервер, обслуживающий весь контент в вашем каталоге www. На странице index.html теперь вы можете отправить XHR на http://abc.om/app/a3/, и проказчивость проксирует их обратно вам. Поэтому вы можете указать свой браузер на http://localhost:8088/index.html, и вы получите свое приложение PhoneGap index.html.
Sleight - отличный инструмент для разработки PhoneGap, так как он позволяет тестировать ваши приложения PhoneGap на ходу локально на вашем компьютере.