2011-07-27 16 views
0

ツリーナビゲーションiframeを、そのツリーを含むHTMLページ内から、コンテンツ領域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');  
} 

( 'SRC'、 'loadtreeb.php').ATTRするために呼び出すツリー・ナビゲーションを再ロードし、ない

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

なく

どちら

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

#tnavにアクセスする際に問題が発生している必要があります。何が問題なの?私は#tnavを見つけるために場所window.parent.documentを追加することが、コンテンツエリアiframe内からツリーナビゲーションを再ロードする正しい方法であると考えました。場所を省略するのは、HTMLページスクリプト内からリロードするのが正しい方法でした。

  1. 他にも私が考えなかった問題はありますか?
  2. キャッシュに問題がありますか?
  3. ツリーナビゲーションiframeのキャッシュを防止するにはどうすればよいですか?

ありがとうございます。

答えて

0

キャッシュが問題であるように見えました。これをiframeページのヘッダーに追加すると問題が解決しました。

<meta http-Equiv="Cache-Control" Content="no-cache"> 
<meta http-Equiv="Pragma" Content="no-cache"> 
<meta http-Equiv="Expires" Content="0"> 

グーグルとhttp://www.webdeveloper.com/forum/showthread.php?t=64667

ここでその答えを見つけました
関連する問題