none
Javascriptの実行順序について RRS feed

  • 質問

  • ------------------------------------------------------------
    Aページ(function init_page)
    ------------------------------------------------------------
    Aページでonloadイベントでページが生成される時function init_page(項目の初期化)処理をすることになっています。

    function init_page処理の真ん中くらいに同じAページ内にあるfunction callを実行します。

    function init_page処理が終わります。
    ------------------------------------------------------------
    ------------------------------------------------------------
    Aページ(function call)
    ------------------------------------------------------------
    function callを実行すると、Aページの項目名を引数にBページ(function name)を呼び出します。
    ------------------------------------------------------------




    ------------------------------------------------------------
    Bページ(function name)
    ------------------------------------------------------------
    Aページで渡してもらった引数をBページ内のSQL条件部分にセットして
    DBから項目の名称を取得します。取得するとAページ(親ページ)の項目名の部分に入れて終了します。




    このような処理ですが、JAVASCRIPT処理手順が手順通りにならず、困っています。
    私が予想した処理手順は 


    Aページ(function init_page)処理開始

    Aページ(function init_page)処理の真ん中くらいの同じAページ内にあるfunction callを実行します。

    Aページ(function call/BページPOST方式で呼び出し)処理

    Bページ(function name)処理開始

    Bページ(function name)Aページの引数でSQL実行後、DBから取得した名称をAページ(親ページ)の項目名の部分に入れてページを閉じる

    Aページ(function init_page)継続して処理実行

    Aページ(function init_page)処理終了



    だが、デバッグをしてみると、順序がおかしくなります。
    同じページ内のfunction単位で実行になるようです。
    以下がが実際の実行手順です。



    Aページ(function init_page)処理開始

    Aページ(function init_page)処理の真ん中くらいの同じAページ内にあるfunction callを実行します。

    Aページ(function call/BページPOST方式で呼び出し)処理

    Aページ(function init_page)継続して処理実行

    Aページ(function init_page)処理終了

    Bページ(function name)処理開始

    Bページ(function name)Aページの引数でSQL実行後、DBから取得した名称をAページ(親ページ)の項目名の部分に入れてページを閉じる



    実際にこのように実行されます。
    この現象について詳しく教えていただけませんか?
    公式資料やWEBサイトの資料があれば助かります。
    よろしくお願いします。
    2016年9月9日 0:53

すべての返信

  • IE(他のブラウザではない)での JavaScript の処理・動きに限った話ということでいいですか? 要求するページは静的な html のページで ASP.NET のようなサーバー側での動的な処理は一切行われない(もしくは今回の話とは関係ない)ということでいいですか?

    ところで、IE のバージョンは何でしょう?


    【追伸】

    よく見ると、

    > Bページ(function name)Aページの引数でSQL実行後、DBから取得した名称をAページ(親ページ)の
    > 項目名の部分に入れてページを閉じる

    ということが書いてあるから、上の私のレスの、

    > 要求するページは静的な html のページで ASP.NET のようなサーバー側での動的な
    > 処理は一切行われない(もしくは今回の話とは関係ない)ということでいいですか?

    に対する答えは No のようですね。

    質問者さんの言う状況を再現できる JavaScript のサンプルコードと B ページの Web アプリが具体的にどういうものか開示できませんか?

    • 編集済み SurferOnWww 2016年9月9日 1:36 追伸追加
    2016年9月9日 1:03
  • A ページから B ページを呼び出す方法ですが、iframe で呼び出しているのでしょうか、それとも XMLHttpRequest などで呼び出しているのでしょうか。この辺りのロジックが不明では、アドバイスのしようがないですね。

    既に SurferOnWww が書かれているように、現象が再現できる (または少なくともロジックが理解できる) サンプル コードを投稿されることが必要だと思います。


    hebikuzure

    2016年9月9日 7:42
    モデレータ