Jos*_*osh 19 javascript flash actionscript-2 externalinterface
我试图通过跨域的ExternalInterface启用Javascript和Flash之间的通信.当Javascript与SWF位于同一域时,它可以很好地工作.但在一种情况下,HTML驻留在域A上,javascript和flash都驻留在域B上.我已经完成了以下所有操作:
allowScriptAccess="always"(并且对象具有作为参数的对象)Security.allowDomain("*")Security.allowInsecureDomain("*")/crossdomain.xml文件allow-access-from domain="*"SWF能够在页面上调用javascript,但是当我使用Javascript来调用ExternalInterface公开的函数时,我得到了
在NPObject上调用方法时出错![插件异常:Actionscript中的错误.使用try/catch块查找错误.]
这是ActionScript 2所以ExternalInterface.marshallExceptions不可用.
Geo*_*off 20
你应该只需要两件事就可以了:
1)allowscriptaccess=always将允许您的SWF将内容发送到页面
2) System.security.allowDomain("yourhtmldomain.com");
请注意,它System.security.allowDomain()在AS2中 - 它与AS3或您上面所写的内容不同.
上面的数字2允许domainA上的html页面调用domainB上的swf中的内容.
您的js托管的域在此处无关紧要,因为浏览器将其嵌入到domainA中,该脚本在domainA中执行.
crossdomain.xml主要用于加载你没有做的远程文件,所以你可以删除它,如果你愿意的话.(你可能不想让allow="*"你的主域名有一个crossdomain.xml文件,这是非常糟糕的做法)
| 归档时间: |
|
| 查看次数: |
45001 次 |
| 最近记录: |