JavaScriptで擬似フレーム、読み込み完了を知るには?
サイト内の各ページ上部に、Ajaxで共通のメニュー部分.htmlを読み出し、表示しています。
参考:AjaxでIFRAME的な表示をやってみる
http://bizcaz.com/archives/2006/11/13-000253.php
参考:階層メニューにJavaScriptで書き換え
http://www.dhtmlgoodies.com/index.html?whichScript=dhtmlgoodies_menu2
<html>
<head>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="ajaxcontents.js"></script>
<script type="text/javascript" src="ListbasedDHTMLmenu.js"></script>
</head>
<body>
<span id="ajax_content_block"></span>
<script type="text/javascript">
<!--
ajax_content_onload_get('メニュー部分.html','','ajax_content_block','ajax_content_progress');
//-->
</script>
<div>
本文
</div>
</body>
</html>
ajaxcontents.jsでメニュー部分.htmlを読み出しListbasedDHTMLmenu.jsで階層メニューに書き換えています。
"dhtmlgoodies_menuObjはNullまたはオブジェクトではありません" のエラーが出て、階層メニュー部分が表示されません。
dhtmlgoodies_menuObjは階層メニュー書き換えのListbasedDHTMLmenu.jsで使われています。
ページ読み出しjavascript完了後に、ページ書き換えjavascriptを実行すればと思っているのですが、
方法の検討がつきません。
if ( location.search.indexOf("1") == -1 ) {
setTimeout("_reload()",100);
}
function _reload() {
location.href = location.href + "?1";
}
↑でリロードさせて見たのですが、バックすると表示されなくなります。
すいませんがアドバイスをお願いいたします。
補足
>どうせログイン処理を作るので ログイン処理は使用しない予定です。 Yahooサービスも同様の処理となっておりますので、未ログイン状態での実現を目指しています。 しかし・・やっぱりCookie処理となりますか。 ページ内に複数箇所、こういった例を実現させたいと思っているのですが、そういう場合は運用面でもAjax絡めた方が良いですかね? また、その他の方法はありますか?