我的Flex应用程序通过ExternalInterface类成功调用JavaScript文件中的函数,当这些函数位于bin-debug文件夹中且JS文件与Flex应用程序位于同一目录中时。
但是当我在服务器上测试Flex应用程序时,它并没有与JavaScript交互。我能找到的唯一区别是,在远程服务器上,JS文件是从URL而不是本地引入的。 JS文件URL与Flex应用程序位于同一个域中,因此我认为这不是跨域问题。我错过了什么?
谢谢!
答案 0 :(得分:1)
您的问题出在网址中。这需要在ActionScript代码中添加其他安全设置。
您需要在ActionScript代码中包含以下内容:
Security.allowDomain("mysite.com")
以下是Adobe的图形说明:
alt text http://livedocs.adobe.com/flex/3/html/images/crossScript_load.png
答案 1 :(得分:1)
确保SWF嵌入html中的allowScriptAccess
参数未设置为never
。如果当前设置为never
,请将其更改为sameDomain
或always
。