flash和js通讯的伪沙箱安全错误

加载到页面的flash需要和当前页面上的js通讯的时候,如果是js和flash在同一个域那就没有安全错误发生

如果不在同一个域就会有安全错误发生。

不在同一个域的flash和js跨域访问的时候 ,可以用下列方式解决跨域问题

要在页面上添加参数行:

  要在flash 中添加这行代码: Security.allowDomain("*")

但是要注意,如果flash和js这两者都不使用缓存的时候,是没问题的。如果flash使用缓存而js不使用缓存,就会出现另一个奇妙的问题: 清空缓存后打开页面flash不报错,而后刷新页面, 就会报安全错误

这个安全错误就让他叫做伪沙箱安全错误吧

这个错误的解决方案是:

flash 初始化客户端(初始化中)完后,先不要调用js相关的任何代码或功能(包括ExternalInterface相关的api)

然后等待一段时间(例如200毫秒)后在调用与js相关的代码或功能,就不会报错了

转载于:https://www.cnblogs.com/vilyLei/articles/2075174.html

你可能感兴趣的:(flash和js通讯的伪沙箱安全错误)