2012-06-05 60 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 –