2013-08-30 208 views
1

我有一個框架,我想重新加載,重置頁面的所有值和內容,但根頁面繼續運行腳本。與此相關的問題是,在頁面重新加載所花費的時間內,請求被髮送到JavaScript頁面,導致錯誤,因爲資源未加載。我如何知道location.reload()何時完成?

top.document.getElementById("designer").contentWindow.location.reload() 
top.document.getElementById("designer").contentWindow.getCSS() 

因此,您可以在這裏看到,頁面可能不會及時重新加載,那麼我將如何解決這個問題?

有沒有一種方法來暫停JavaScript執行,直到location.reload()返回true或者什麼?

+0

我想我能做的就是在iframe上設置一個事件監聽器,直到document.ready發送一個ACK來繼續? – Fallenreaper

+0

假設這不是跨域的,只需爲'load'事件添加一個偵聽器。 – Dave

+0

你有偶然的樣本/ – Fallenreaper

回答

1

您可以設置onload處理您的iframe,使您的reload犯規觸發

示例代碼: -

function Test() { 

    iframe = document.getElementById('ABCD'); 
    iframe.onload = function() { 
     location.reload(true); 
    } 
    //.... 
} 

,或者如果你想添加一些時間延遲然後再嘗試這樣的: -

function Test() { 
    iframe = document.getElementById('ABCD'); 
    iframe.onload = function() { 
     setTimeout(function() {location.reload(true)}, 5000); 
    } 
    //.... 
} 
+0

所以像這樣:$(「#iframe」)。on(「load」,function(){}); // ??? – Fallenreaper

+0

這樣做。 –

+0

@Fallenreaper: - 會的。我試圖添加一個示例代碼供您參考。希望有所幫助! –

相關問題