2012-05-26 66 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