工作需要,软件内嵌入了一个html,html里有一个flash,遇到一个悲剧的问题。
actionscript与外部的javascript,需要用到ExternalInterface来调用js函数,
但是,这必须在一个域名下进行,否则会进入安全沙箱机制。
比如本地运行一个html,as里调用js函数就会失败,因为进入沙箱安全机制了.....
请问高手,怎么去突破这个沙箱。 (类似调低flash安全设置等不能算)。
我想到了几个比较折衷的办法:
1:用socket模拟一个httpserver.
2:改写webkit
小弟菜鸟,只想到了这2个,第一个我已经在实验中。。
请大家发挥想象力,看有什么最有效的方法来突破这个安全机制。
大侠,失败了。。。
flash.system.Security.allowDomain("*");
ExternalInterface.call("showJsFun");
失败了。。 js函数没有被调用。。
一旦放进一个服务器里就成功了 哎~ ~。
不是, 你没有明白我说的。 as与js通信已经清楚怎么去弄了,
但是现在这个通信只能在一个域名下进行,如果在本地进行会被沙箱的安全机制过滤掉,
那个代码都正确的,我放到一个服务器上就能执行,但是本地就不行。
现在是想一个办法能突破这个沙箱。
你不是说是软件上的东西???,,软件里 再加一个小型的服务器,只处理 html文件的服务器,当要打开html页面时,运行小型服务器程序绑定到随便一个端口就行了...Python的模块查看器就是这样做的
你想在 flash里解决是不可能的
已经解决了。。
哎~ 为了个flash 写了个http server。。 郁闷死。。
回复11楼,我用的是c++,对php不了解阿,我只是监听本地的一个端口,然后返回http请求的数据。
回复12楼,是的,软件里嵌入html。
来源:足球直播