May 09

可能有些人已经遇到了这个问题,执行Flash应用时会出现"Uncaught exception: Permission denied to call method to Location.toString"这种很奇怪的错误,不过在你的电脑上出现了,但是很有可能在你同事的电脑上却总是可以正常运行……


其实这是由于Flash 9.0.115.0和Flash9.0.124.0版本中跨域(crossdomain)的security方针的改变引起的。修改这个问题并不复杂,只需要将crossdomain.xml文件中原先的:

  1. <cross-domain-policy>
  2.     <site-control permitted-cross-domain-policies="all"/>
  3.     <allow-access-from domain="*" />
  4. </cross-domain-policy>

修改为

  1. <cross-domain-policy>
  2.     <site-control permitted-cross-domain-policies="all"/>
  3.     <allow-access-from domain="*" />
  4.     <allow-http-request-headers-from domain="*" headers="*"/>
  5. </cross-domain-policy>

就OK了。从Adobe’s TechNote page on arbitrary headers not being sent这里可以看到更加具体的说明。

written by Minidxer  |  tags: , ,

Related Post

Leave a Reply