Adobe AIR应用程序如何找出从中下载的URL?

时间:2009-03-14 14:00:06

标签: air

我们有一个Adobe AIR应用程序,可以从多个域下载。当它运行时,它应该连接回下载的网站,以便向用户显示数据。

到目前为止,我们为每个域都有一个单独的应用程序构建,其中一个站点URL被硬编码到其中。我想知道AIR应用程序是否有办法在运行时找到下载它的URL(或至少是域名)?

我们希望拥有的是从所有不同域提供的单个可下载二进制文件,它仍然可以知道它的原始URL。

6 个答案:

答案 0 :(得分:3)

没有检索此类信息的功能,如果您考虑它就没有任何意义。

最稳定的方法是将外部配置文件包含在包中。

请注意,您可以使用ANT为此最终部署自动执行此过程。

答案 1 :(得分:2)

没有直接的方法可以做到。

以下是一些选项:

  • 为每个站点构建不同的版本(这可以是自动化的)
  • 让用户在首次启动时选择网站
  • 尝试使用您拥有的任何资源(时区,语言等)猜测它

答案 2 :(得分:1)

这应该如何运作?我看到的唯一解决方案(独立于AIR)是您使用应用程序提供额外的(属性)文件,其中包含从中下载的URL。所以你不需要为每个域构建一个单独的应用程序,但只用它包装一个不同的域文件。该应用程序然后读取此文件并执行一些上下文敏感的东西。

答案 3 :(得分:1)

我正试图解决目前完全相同的问题。 看起来您可以修改安装徽章以将参数传递给air app。 根据我收集的内容,这些值仅在安装或从徽章启动时传递。

我计划研究的是“AIRBadge.as”中的一个参数是_appURL,它是徽章所在页面的URL。我还不知道这个值是否以某种方式降低到已安装的AIR应用程序;但它可能是一个有用的属性。我最终希望AIR安装过程将其注入到应用程序描述符xml中,但我并没有屏住呼吸。

查看此页面:http://archive.davidtucker.net/2008/01/10/air-tip-5-passing-arguments-to-an-application-on-install/#

答案 4 :(得分:0)

用户下载时,您可以将其IP地址存储在中央数据库中。然后,当应用程序安装并第一次运行时,应用程序可能会命中您的中央数据库,以便将其IP地址与他们下载的服务器相匹配。

答案 5 :(得分:0)

具有特定名称的cookie存储在下载页面上,而AIR应用程序正在寻找它?虽然这可能不适用于直接下载。由于知道用于下载它的特定浏览器将是一个问题,因此可能也很难实现。