2012-06-05 26 views
0

我有一个asp.net页面,打开加载一些内容和按钮的jqueryWindow(iframe)页面。当用户点击按钮时,我会调用一个函数来完成一些工作,并在点击函数结束时调用一个setInterval函数。间隔功能工作正常,而窗口(iFrame中)打开,当我关闭窗口,区间在Firefox停止,这个错误会在控制台中显示:Javascript间隔和iframe

attempt to run compile-and-go script on a cleared scope 

但是它的工作原理是IE浏览器。

任何想法?

后面的描述: 区间是函数在父类中。但我用惊人的萤火虫看到函数将在其间隔被调用,但它返回错误,有时工作正常。 :O

+0

发表一个简单的例子。 – RobG

回答

1

由于Firefox不存在,Firefox已经垃圾收集了iframe的范围。其他浏览器可能不会以相同的方式执行操作。

尝试拨打电话top.setInterval(...)而不是只是setInterval(...)

1

如果函数正在从iframe中调用,那么在iframe被关闭后它不应该运行,因为其全局上下文已被销毁。我希望函数不会在任何浏览器中运行,也不会抛出错误。

也许这是一个错误?无论如何,正如Kolink所说,尝试从父级调用它(顶部),但是如果它试图引用弹出范围内的对象或变量,你会(应该)发生错误。

+0

区间是函数在父类中。但我用惊人的萤火虫看到函数将在其间隔被调用,但它返回错误,有时工作正常。 :o –