0

我有一个 asp.net 页面,它在 jqueryWindow (iframe) 中打开一个页面,该页面加载了一些内容和一个按钮。当用户单击按钮时,我调用一个函数来做一些工作,并在单击函数结束时调用一个 setInterval 函数。间隔函数工作正常,当窗口(iFrame)打开时,当我关闭窗口时,间隔在 Firefox 中停止,此错误将显示在控制台中:

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

但是它适用于IE。

有任何想法吗?

后来的 desc :间隔是函数在父级中。但是我使用了萤火虫,它令人惊讶地看到该函数将在其间隔内被调用,但它返回错误并且有时可以正常工作。:O

4

2 回答 2

1

由于 iframe 不再存在,Firefox 已经对 iframe 的范围进行了垃圾收集。其他浏览器可能不会以同样的方式做事。

尝试调用top.setInterval(...)而不是仅仅调用setInterval(...).

于 2012-06-05T06:11:17.577 回答
1

如果从 iframe 调用该函数,则在 iframe 关闭后它根本不应该运行,因为它的全局上下文已被破坏。我希望该函数根本不会在任一浏览器中运行,也不会引发错误。

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

于 2012-06-05T07:13:55.103 回答