从iframe调用非全局javascript函数

时间:2012-07-25 19:42:59

标签: javascript jquery iframe scope

您好我通过使用parent.myFunction()方法从同一个域iframe调用一些javascript函数。唯一的问题是函数似乎需要在全局范围内以这种方式访问​​。我想将所有函数放在jQuery的document.ready包装函数

我可以以某种方式从iframe访问jQuery的document.ready包装器中的函数吗?我知道这是一个范围问题,但如果它位于同一域iframe的jQuery的document.ready包装器中,我将如何访问myFunction?

谢谢!

1 个答案:

答案 0 :(得分:2)

不,你不能。只需将它们放在$.ready的局部范围之外,最好是命名空间,以避免全局范围污染。

如果您想在文档准备就绪时定义它们,您仍然可以将它们放在全局范围内:

jQuery(function($) {
    window.someFunc = function(){ ... };
    // or better
    window.namespace = {
        func: function(){ ... }
    };
});