Как приложение Adobe AIR может узнать, с какого URL оно было загружено? - PullRequest
3 голосов
/ 14 марта 2009

У нас есть приложение Adobe AIR, которое может быть загружено с нескольких доменов. И после запуска он должен подключиться к сайту, с которого он был загружен, чтобы получить данные для показа пользователю.

Пока у нас есть отдельная сборка приложения для каждого домена с жестко запрограммированным URL-адресом сайта. И мне интересно, есть ли способ для приложения AIR узнать во время выполнения URL (или хотя бы домен), с которого оно было загружено?

Нам хотелось бы иметь один загружаемый двоичный файл, обслуживаемый из разных доменов, который все еще может знать, что это URL источника.

Ответы [ 6 ]

3 голосов
/ 21 марта 2009

Нет функции для извлечения такой информации, просто не имеет смысла, если вы подумаете об этом.

Самый стабильный способ - включить в пакет внешний файл конфигурации.

Обратите внимание, что вы можете использовать ANT для автоматизации этого процесса для окончательного развертывания.

2 голосов
/ 14 марта 2009

Нет прямого способа сделать это.

Вот несколько вариантов, которые приходят на ум:

  • Создание разных версий для каждого сайта (это может быть автоматизировано)
  • Позволяет пользователю выбрать сайт при первом запуске
  • Попробуйте отгадать, используя любые имеющиеся у вас ресурсы (часовой пояс, язык и т. Д.)
1 голос
/ 13 апреля 2012

Я пытаюсь решить ту же самую проблему прямо сейчас. Похоже, вы можете изменить значок установки для передачи параметров в приложение air. Из того, что я понял, значения передаются только при установке или запуске из значка.

Что я планирую исследовать, так это то, что одним из параметров в "AIRBadge.as" является _appURL, который является URL-адресом страницы, на которой находится значок. Я еще не знаю, если это значение каким-то образом связано с установленным приложением AIR; но это может быть полезным свойством. В конечном итоге я надеюсь, что процесс установки AIR внедрит это в дескриптор приложения xml, но я не задерживаю дыхание.

Проверьте эту страницу: http://archive.davidtucker.net/2008/01/10/air-tip-5-passing-arguments-to-an-application-on-install/#

1 голос
/ 14 марта 2009

Как это должно работать? Единственное решение, которое я вижу (независимо от AIR) - это то, что вы поставляете дополнительный файл (свойств) вместе с приложением, содержащий загруженный URL-адрес. Таким образом, вам не нужно создавать отдельное приложение для каждого домена, а только упаковывать в него другой домен-файл. Затем приложение читает этот файл и выполняет некоторые контекстно-зависимые вещи.

0 голосов
/ 20 марта 2009

Файл cookie с определенным именем хранится на странице загрузки, и приложение AIR ищет его? Хотя это может не сработать для прямых загрузок. Это также может быть трудно выполнить, поскольку знание конкретного браузера, используемого для его загрузки, может стать проблемой.

0 голосов
/ 16 марта 2009

Когда пользователь загружает, вы можете сохранить его IP-адрес в вашей центральной БД. Затем, когда приложение установлено и запускается в первый раз, оно может попасть в вашу центральную БД, чтобы сопоставить их IP-адрес с сервером, с которого они загрузили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...