有没有办法从Flash对象中获取公开函数的列表?例如,您可以通过执行以下命令获取对象中所有方法的列表:
for (var i in object) {
if (typeof object[i] == "function") {
console.log(i);
}
}
唯一的问题是,这不会暴露通过ExternalInterfaces API注册的任何方法.我可以尝试看看函数是否存在(object [‘method’])并告诉我它是一个函数,但我必须以这种方式猜测每个现有的方法.
注意:显然,我无法访问actionscript.
解决方法:
刚看到这个问题,似乎有点迟到了,但我会发布一个答案;)
使用IE10(Windows 7),我可以很好地列出我的所有方法,如下所示:
var obj = document.getElementById('flashObj');
for(var prop in obj){
var fx = obj[prop];
if(obj.hasOwnProperty(prop) && (typeof fx == 'function') && /eval\(instance/.test(fx)){
console.log(prop)
}
}
请注意,这在Chrome或Firefox中无效,并且仅使用完全正则表达式,因为IE10不像其他浏览器那样报告“本机代码”.
原文地址:https://codeday.me/bug/20191005/1854692.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。