【发布时间】:2011-08-24 00:50:42
【问题描述】:
我目前正在构建一个 flex 应用程序,并希望允许深度链接生成漂亮的 URL,例如 http://site.com/#/account/settings 等。
我查看了 swfaddress 2.4 和 swfobject 2.2 以嵌入 swf 并提供深度链接。到目前为止,一切都在 Firefox 和 Chrome 中运行。但是,在 Internet Explorer 9 中,后退按钮和历史记录功能不起作用,这相当令人沮丧。
有趣的是,此处的 Flex 示例文件 http://www.asual.com/swfaddress/samples/flex/ 在 IE9 中完美运行。经过进一步检查,他们似乎正在使用 ac_OETags.js 文件来嵌入他们的 swf。翻阅文档以及 flex 生成的 index.html 文件,似乎他们现在使用最新版本的 swfobject 作为嵌入 swf 文件的首选方式。
话虽如此,swfobject 已经一年多没有更新了。我也不确定作者是否打算更新它。另一方面,我不喜欢 adobe 的 history.js 用于深度链接的方式。在我看来,http://site.com/#view=1 这样的网址看起来很丑。
鉴于上述情况,您推荐哪些库用于在 flex 4.5 项目中嵌入 swf 文件和深度链接?
【问题讨论】:
-
老实说,每当我不得不进行深度链接时,我都是手动完成的。我创建了一种导航委托模式,只使用 BrowserManager 更新片段,导致根视图评估片段,然后将任何子片段委托给子视图。 (对于每个关心片段的后代视图来说,无穷无尽)。当然,这里的问题是,至少根据我的经验,深度链接通常是产品设计师的事后想法,而不是在初始客户端架构时构建的。
-
为了记录,SWFObject 正在更新到 2.3。希望它会在未来几个月内发布。
标签: apache-flex swfobject deep-linking swfaddress