4

我在 MooTools 类中有一个方法,我想在使用 AJAX (iFrame) 上传文件后访问该方法。iFrame 页面在加载时运行的 Javascript 应该调用类的方法,但我无法使用类似的方法访问它:类名:主变量类在:myMain 中初始化

parent.window.myMain.myMethod parent.window.Main.myMethod

这甚至可能吗?如果是我该怎么做?

4

3 回答 3

10

我喜欢的语法:

var MyClass = new Class({

  /* list regular non-static methods her as usual */

});

MyClass.staticMethod = function()
{
   /* body of static function */
};

您拥有的优势是:

  • MyClass.staticMethod()您可以通过类的内部和外部调用静态方法
  • 不可能在静态方法中意外访问 this 指针,因为它不可用

要访问内部框架中的静态方法,可以使用window.parent.MyClass.staticMethod();

于 2009-07-24T16:54:03.370 回答
0

这对我有用(也适用于 iframe)。

在主窗口中。

var T=new MyClass();

在 Iframe 中(在 T 初始化后加载!)

window.parent.T.anyMethodOfMyClass()
于 2009-07-24T15:49:48.700 回答
0

刚刚想通了。在 iFrame 页面上,我需要使用:

window.parent.Main.prototype.myMethod();

可能不是访问它的正确方法,但它有效。

于 2009-07-24T16:05:25.773 回答