2011-07-27 52 views
0

从包含该树形结构的HTML页面和内容区域iframe内重新加载树形导航iframe的最佳方式是什么?从容器页面和内容iframe重新加载树形导航iframe

树形导航iframe在像这样的favorites.php(HTML页面)中定义。

<iframe id="tnav" src="loadtreeb.php" style="border: 0px; width: 200px; height: 86%; overflow: auto;"> 
</iframe> 

如果节点添加到树中,有在HTML页面的按钮调用savepages.php保存更新。该php文件被加载到内容iframe中。

<FORM name="pagesform" action="savepages.php" method="post"> 
    <P style="font:12px Arial, Verdana;" > 
    Add one line for each page in this format: Page Name, Folder Name, http://thepage.com <br/> 
    <textarea name="newpages" rows="23" style="width:780px;"></textarea> <br/> 
    <input type="submit" value="Save Page(s)" style="margin-top: 5px;"/> 
    </P> 
</FORM> 

我重新加载从这个savepages.php(内容iframe)的树。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#tnav', window.parent.document).attr('src','loadtreeb.php'); 
    }); 
</script> 

还有其他操作从HTML页面执行,也从JavaScript重新加载iframe。这里有一种情况,一个删除项目按钮,它调用页面脚本中定义的javascript函数。

<div id="update"> 
     <img src="treeico/delete.gif" style="cursor: pointer;" title="Delete" onclick="deleteitem();" /> 
    </div> 

function deleteitem() 
{ 
    //perform delete action 

    //reload tree 
    $('#tnav').attr('src','loadtreeb.php');  
} 

无论是来电.attr( 'src' 中, 'loadtreeb.php')重新加载树导航,不

$('#tnav', window.parent.document).attr('src','loadtreeb.php')

,而不是

$('#tnav').attr('src','loadtreeb.php')

转到#tnav必须有问题。可能是什么问题呢?我认为添加位置window.parent.document以定位#tnav是从内容区iframe中重新加载树导航的正确方法。而忽略该位置是从HTML页面脚本中重新加载的正确方式。

  1. 是否还有其他问题我没有想过?
  2. 是否缓存问题?
  3. 如何防止树导航iframe的缓存?

谢谢。

回答