從包含該樹形結構的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的緩存?
謝謝。