从包含该树形结构的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页面脚本中重新加载的正确方式。
- 是否还有其他问题我没有想过?
- 是否缓存问题?
- 如何防止树导航iframe的缓存?
谢谢。