我有一个flex应用程序,需要能够生成和执行JavaScript.当我这样说时,我的意思是我需要执行我在Flex应用程序中创建的原始JavaScript(而不仅仅是现有的JavaScript方法)
我目前通过公开以下JavaScript方法来做到这一点:
function doScript(js){ eval(js);}
然后我可以在Flex中做这样的事情(注意:我正在做一些比真正的Flex应用程序中的警报框更重要的事情):
ExternalInterface.call("doScript","alert('foo'));
我的问题是这是否会带来任何安全风险,我假设它不是因为Flex和JasvaScript都运行客户端...
有一个更好的方法吗?
不需要JavaScript函数,第一个参数ExternalInterface
可以是任何JavaScript代码,它不必是函数名(文档说明如此,但它是错误的).
试试这个:
ExternalInterface.call("alert('hello')");