我有一段有问题的代码,它使用Wordnik API来获取字词定义。此代码在"本地信任"安全沙箱,但不在线工作 - 它会产生一个安全沙箱违规行为" (但没有解决沙箱违规问题的常用方法)。
我已经使用Wordnik API创建者咨询了这一点,他们并没有直接解决我的问题,但我指的是一个有效的例子。事实上,他们的例子很有效,但它使用的是Flex class" Application"。
在独立的.as类中不起作用的相同代码在Flex应用程序中使用时可以正常工作。
我的问题是:Flex Application类和扩展Sprite的普通AS3类有什么区别(特别是安全性差异)?
我使用Flashdevelop进行编译。这可能很重要,因为Wordnik的人说它在Flash Builder中运行良好 - 尽管他们没有提供细节,但我无法重现它。
如果需要,我可以附加代码。
答案 0 :(得分:0)
所以,我无法理解究竟发生了什么,但我看到发生了什么 - 似乎它根本没有与闪存安全相关联。
当您使用mx app时,WordnikClient会发送序列化数据包,这些数据包与非mx应用程序的数据包不同:
mx app:
<object type="flex.messaging.messages.CommandMessage">
fl app:
<object>
请求:
<object type="flex.messaging.messages.HTTPMessage">
VS
<object>
但是当您在本地受信任的沙箱中时,客户端使用GET请求,例如:
http://api.wordnik.com/v4/word.xml/drama/definitions?limit=1&useCanonical=true&api_key=148404f291e734bbf372b66b13785d85cb962394b22a8384e
服务器返回xml。
所以,
1)我建议你只使用GET请求并解析XML;)。至少在这个问题发生的时候
2)尝试将此报告发送给支持人员。我认为,问题可能出在序列化过程中。
希望它会有所帮助。此致