onloadイベントをdiv要素に追加するにはどうすればよいですか?
私はこれを読みましたが、これにも問題がありますonLoad。divにはないことはわかっていますが、次のようなスニペットを実行できるはずです。
...
<div id="content">
    <div class="text">
    </div>
</div>
<script type="text/javascript">
    navigate('main.php', 'content');
</script>
....
これは機能しません。新しいブラウザセッションを開始してindex.phpに移動すると、ログインウィンドウが表示されます。ログイン後、index.phpにリダイレクトされますが、いくつかのセッション変数とCookieが設定されています。これまで、index.phpには上記のコードが含まれていましたが、これcontentは存在していませんでした。
今私の問題に:content私が持っているナビゲート機能では、ほとんどのブラウザが存在するものを受け入れることを拒否しているように見えます:
function navigate(str, what) {
    if(what == null) {
        what = document.documentElement;
    } else {
        what = document.getElementById(what);
    }
null実行時に有効な要素ではないため、どうなりますか。
私はもう試した:
window.onLoad = naviate('main.php', 'content');
それは何もしません、そこに同じ問題があります..また、<script>運がなくて最後にブロックを置いてみました。
jQueryなどは使えないので、標準のJavascript、HTML、CSSのままにしてください。使用中のブラウザ:IE8、Chrome、FireFox。
- index.phpをロードします
- loginwindowにログインします
- index.phpをロードします
- index.phpのロードが完了したら、以下を含むすべての要素を読み取りますcontent
- contentいくつかのAJAXデータで更新します。
それは
ログインし、失敗した結果でページを1回ロードしてから、ページを再度更新します。
そして、その理由は次のとおりです。
私はログインウィンドウでもAJAXを使用しています。これはnavigate()、すべてのボタンと同じように使用しますが、そうでないものも使用します。したがって、問題はindex.php、ログインウィンドウでロードされ、ログインウィンドウがページ全体をAJAX(javascript)で更新しnavigate()、AJAX呼び出しからの戻りデータ内から再度呼び出しを試みることです...
 「インライン」navigate()はと呼ばれる!!! 、AJAXを介してロードされるため、すべての要素を認識しているわけではありません。