对于我的 flex 应用程序深度链接,我使用 swfaddress 2.4。它以前有效,但现在当我将我的 flex 应用程序迁移到托管在 Amazon S3 存储桶上时出现问题。
我已经这样做了:
- 在应用程序将访问以加载资产/数据的每个域上设置的策略文件
allowScriptAccess
被设定为always
loadPolicyFile
启动应用程序时(通过)加载策略文件allowDomain
(andallowInsecureDomain
) 也被设置
问题:
- 调用 SWFAddress.setValue() 时,浏览器地址栏上的地址永远不会改变。调试时,
_value
swfaddress.js 中的正确保存了传递的值 - 这会破坏浏览器历史记录(浏览器中的后退按钮并且无法使用应用程序)
手动在地址栏中输入查询会引发此错误:
Uncaught Error: Error in Actionscript. Use a try/catch block to find error.
和
Uncaught Error: Error calling method on NPObject
来自行中的函数
_swfChange
:obj[setter](value);
SWFAddress.assetter
中的setSWFAddressValue
回调在哪里。所以,我什至制作了 SWFAddress.as 来执行_initialize
添加回调的函数- 当我将 try..catch 放在有问题的行时,它进入了臭名昭著的无限循环 swfaddress 问题。像推荐的那样添加修复,现在应用程序没有改变视图状态
提前致谢。
//顺便说一句,它类似于这个未解决的问题:Amazon S3 和 swfaddress