我在Flash Builder中使用Flex 4.6和AIR 3.3进行移动项目。在这个项目中,我有多个视图,其中一些视图中有一个StageWebView来显示一些在线内容。
更具体地说,我使用StageWebViewBridge project,以便我可以在AS3和Javascript之间建立桥梁。
但是,这些StageWebViews中显示的某些内容有时需要登录信息。在通用浏览器中,它存储在当前会话中。
由于那些StageWebViews不共享相同的会话,我是否可以将cookie保存在内存中的会话中,然后与所有StageWebViews共享这些cookie?
使用CookieContainer类和HttpWebRequest在C#中可以很容易地解决这个问题,所以类似的东西真的很有帮助。
答案 0 :(得分:0)
简短回答......是的,在某些情况下。
答案很长......不,如果您计划保持应用浏览器和操作系统独立,请不要这样做。 AIR将与使用默认操作系统cookie机制的浏览器共享它的cookie,但是这些功能实际上不能依赖于客户端。如果您希望自己的应用在Firefox中运行(或者我认为是Chrome),则无法实现。
查看最佳答案: Cookies working in Flex but not in Air
我通过一些hackish URL hash-tag废话解决了这个问题,我将会话从AIR传递到Web视图,但这显然是在我控制项目的AIR和Web部分100%的环境中(这个特定项目的安全性不是一个大问题)。