【问题标题】:ExternalInterface call from flash to Javascript OOP object从 Flash 到 Javascript OOP 对象的 ExternalInterface 调用
【发布时间】:2011-04-08 17:01:18
【问题描述】:

这是我的问题:

我在 JavaScript 中有这个类:

var c = new MyClass();
c.myFunction();
c.myFunction2();
c.myFunction3();
//and so on...

如何使用ExternalInterface.call 引用它?

我不能这样做:ExternalInterface.call("c.myFunction"));

【问题讨论】:

    标签: javascript actionscript-3 actionscript


    【解决方案1】:

    为了使其工作,您尝试从 Flash 调用的对象需要具有全局范围。即,这不起作用:

    // closure to keep vars out of global scope - generally a good thing!
    (function() {
        var c;
    
        function MyClass() {
        }
        MyClass.prototype.myFunction = function() {
            alert('Do something!');
        }
    
        c = new MyClass();
    })();
    
    ... meanwhile, in Flash ...
    
    ExternalInterface.call("c.myFunction");
    

    您需要的是对象的全局入口点。但是,您遇到了什么错误?你从电话中收到null 吗?是否抛出了任何特定的错误?

    【讨论】:

    • 谢谢提醒。当人们开始使用 jQuery 时,他们只是忘记了什么是什么,然后开始想知道为什么它不起作用。
    【解决方案2】:

    是的,你可以(这样做:ExternalInterface.call("c.myFunction"))。

    【讨论】:

    • 它不起作用奥马尔。我看不出与我发布的内容有什么不同。
    • +1 它应该可以工作,如果不是你在其他地方有错误。 “c”在什么范围内?
    【解决方案3】:

    将其发布到服务器并以这种方式调用 html 页面。
    ExternalInterface 在 flex 项目文件系统中运行时出现问题。
    很可能是嵌入/跨域问题。

    【讨论】:

      猜你喜欢
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      相关资源
      最近更新 更多