jQuery Mobile - ошибка загрузки страниц с использованием PhoneGap и WP7.5 - проблема с безопасностью - PullRequest
4 голосов
/ 23 ноября 2011

У меня есть приложение, которое прекрасно работает с использованием android phonegap 1.2 и jqm 1.0, и я пытаюсь перенести его на windows phone 7.5.

Когда страница index.html загружается, первое, что нужно сделать, - это использовать $ .mobile.loadpage для загрузки другой html-страницы. все, что я получаю в приложении wp7.5, - это сообщение «ошибка загрузки страницы». если я добавлю ссылку на страницу в index.html, я получу ту же ошибку. Подведем итог:

  • запуск index.html в настольном браузере работает
  • работает приложение на андроиде работает
  • запуск приложения на wp7.5 без вызова другой страницы работает
  • jqm в ie (на wp7.5) может загружать другие страницы
  • если я ссылаюсь на общедоступный сайт jqm из приложения, общедоступный сайт работает (т. Е. Jqm будет загружать страницы, расположенные на www)
  • я поместил $. Support.cors = true; в коде js, чтобы разрешить межсайтовые запросы xhr

мне кажется, что единственная проблема - это когда jqm пытается загрузить локальный файл через ajax. я предполагаю, что это как-то связано с настройками безопасности по умолчанию в элементе управления webbrowser, который использует phonegap?

Может кто-нибудь пролить свет на это?

1 Ответ

0 голосов
/ 27 сентября 2012

Я подозреваю, что это настойчивое требование WP7, чтобы все страницы, загруженные с "локального сайта", действительно загружались из IsolatedStorage.

В более новых шаблонах проекта Phonegap / Cordova WP7 для каждой сборки имеется файл, CordovaSourceDictionary.XML, который сделает это за вас.Просто убедитесь, что любые файлы, к которым вы хотите иметь возможность перейти / загрузить (да, вы должны сделать это и для изображений), имеют Активность сборки "Содержимое" в вашем проекте, и когда вы создадите его, этот XML будет обновлен.автоматически.

Когда ваше приложение запускается, первое, что Cordova делает в WP7, - это просматривает все файлы в этом XML-файле и копирует их в isolatedStorage, чтобы их можно было загружать / перемещать в.

...