2012-05-26 139 views
0

我有一個Iframe在我的網站。我初始化它srcdocument.ready event。我在jquery UI對話框中放置了iframe,現在每當我們打開對話框時,iframe加載它的內容,但是我希望這個加載過程僅在document.ready發生一次。這可能嗎?javascript iframe內容加載問題?

回答

1

是的,您可以使用XmlHttpRequest獲取內容一次,將其存儲到本地變量中,並在打開對話框時重用此變量。

var myReusableContent; 

$(window).ready(function() { 
    var httpRequest = new XMLHttpRequest(); 
    httpRequest.onreadystatechange = function() { 
     if (httpRequest.readyState === 4) { 
      if (httpRequest.status === 200) { 
       myReusableContent = httpRequest.responseText; 
      } 
     } 
    }; 
    httpRequest.open('GET', muurl); 
    httpRequest.send(); 
}); 

當您需要填寫的iframe,簡單地做

$('myIframe').html(myReusableContent); 
+0

在我來說,我不能用'$( 'myIframe')HTML(myReusableContent);'這填補了iframe,因爲我正在加載的文件有一些腳本與'iframe'父文檔衝突,那麼是否有其他方法來填充iframe – gaurav

+0

您的確切目標是什麼?爲什麼你只想獲取文檔一次? –

+0

,因爲我在客戶端修改它,所以爲了保存更改,我只能加載一次 – gaurav