Полноэкранный режим iPad и режим полета - PullRequest
1 голос
/ 15 сентября 2011

Я занимаюсь разработкой веб-приложения для iPad, которое должно быть одновременно в полноэкранном режиме и в режиме полета.

Мы использовали Cache Manifest для хранения всех необходимых нам файлов, но сложная часть заключается в том, что сейчас мы передаем информацию в URL ie. file.html?account=234 и когда вы пытаетесь создать ссылку на файл, такой какпри этом в режиме «В самолете» возвращается сообщение о том, что iPad не может получить доступ к домену ... несмотря на то, что file.html кэшируется в манифесте кэша.

Похоже, iPad считает, что file.html и file.html?account=234 - это два совершенно разных файла / URL-адреса, поэтому он обнаруживает, что его нет в манифесте кэша и пытается подключиться к серверу.

Идея, лежащая в основе всего этого, заключается в том, что мы отображаем список учетных записей в index.html из файла JSON, а затем в file.html (мы получаем параметр account с плагином jQuery $.url().param()) и создаеминформация об учетной записи из файла JSON.

Это похоже на локальный способ использования файла JSON в качестве базы данных, и он отлично работает в полноэкранном режиме ... если вы не находитесь в режиме полета.И это проблема, потому что этот прототип должен работать без подключений к Интернету.

Кажется, мой подход совершенно неправильный, но сейчас я в растерянности.Есть ли способ использовать AJAX для загрузки file.html в index.html и одновременно проходить по account=234?

Ответы [ 3 ]

1 голос
/ 15 сентября 2011

file.html? Account = 234 и file.html - это 2 разных URL.Вы можете добавить номер счета в хэш (#) вместо параметра.Но я думаю, что было бы лучше, если бы вы просто сохранили номер аккаунта в cookie или локальном хранилище.

0 голосов
/ 16 сентября 2011

Хорошо, поэтому я рад сообщить, что localStorage был идеальным решением.Я просто сохранил ключ / значение как «account», «234».

0 голосов
/ 15 сентября 2011

Safari, как и все браузеры, не будет кэшировать URL-адреса со строкой запроса. Этот факт постоянно используется для принудительного обновления вызовов AJAX путем добавления строки запроса.

На простейшем уровне попробуйте перейти на использование компонентов URL вместо этого - например, /account-234/.

Или, как вы сказали, ваш подход может просто не иметь смысла. Вы смотрели на использование HTML5 локального хранилища ? Вы можете свернуть всю необходимую информацию в структуру данных, которая имеет смысл для вас, и сохранить ее для автономного использования.

...