从包含该树的HTML网页和内容区域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页面脚本中重新加载的正确方法。
感谢。
答案 0 :(得分:0)
缓存似乎是个问题。将其添加到iframe页面标题可以解决问题。
<meta http-Equiv="Cache-Control" Content="no-cache">
<meta http-Equiv="Pragma" Content="no-cache">
<meta http-Equiv="Expires" Content="0">
用Google搜索并在此处找到答案http://www.webdeveloper.com/forum/showthread.php?t=64667