从 Flash 调用命名空间 JavaScript 函数
我可以使用ExternalInterface调用命名空间的JavaScript函数吗?
//JavaScript
foo.bar = function(baz) {}
// AS3
import flash.external.ExternalInterface;
ExternalInterface.call('foo.bar', baz);
Can I use ExternalInterface to call a namespaced JavaScript function?
//JavaScript
foo.bar = function(baz) {}
// AS3
import flash.external.ExternalInterface;
ExternalInterface.call('foo.bar', baz);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ExternalInterface.call
的文档有点误导。它指出第一个参数必须是函数名称,但这并不是全部事实。它可以是任何可以被计算为正确的 JS 表达式的字符串。事实上相当于
这样你也可以执行以下操作,
这种技术有时用于 Flash JS 注入。希望这能澄清事情......
The documentation of
ExternalInterface.call
is a little misleading. it states the first parameter must be a function name, which is not the whole truth. it can be any string that can be evaluated as a proprer JS expression. In factis equivalent to
so you may just as well do the following
this technique is sometimes used for Flash JS injection. hope this clarifies things ...
是的。是的,你可以。
Yes. Yes you can.