0

page1 の childbrowser でページを開いているときに、閉じるときに関数を実行したいのですが、機能します。しかし、page2 に移動して childbrowser で別のページを開くと、ここでも関数が実行されますが、それは望ましくありません。

では、page2 ではなく page1 だけで childbrowser を閉じたときに関数を実行するにはどうすればよいでしょうか?

CBを閉じるときに、ページ1でこれを使用して関数を実行します。

   var apptypen='iPhone';

$(document).ready(function(){

    if (apptypen=='iPhone'){
        alert("apptype iphone");

    window.plugins.childBrowser.onClose=function(){

    jQT.goBack(1);
    window.plugins.childBrowser.onClose = null;
        }
    }
    });

page1 で CB を開くと、アラートが実行され、jQT.goBack(1); で戻ります。関数ですが、ページ2でCBを開くと、アラートは実行されませんが、jQT.goBackは実行されます。これは私が望んでいないことです。ページ1でCBを開いたときにのみjQT.goBackを実行し、ページ2でCBのページを開いたときにのみ実行する必要があります。ご意見ありがとうございます。解決済み、window.plugins.childBrowser.onClose = null; が必要でした。jQT.goBack の後。

4

1 に答える 1

0

場所変更リスナーを登録する必要があります。次に、ページ 2 に移動すると、グローバル変数を設定するか、クローズ リスナーを削除できます。あなたの選択。

window.plugins.childBrowser.onLocationChange = function(loc) {
    if (loc == "page1.html") {
        window.plugins.childBrowser.onClose = function() {
           alert("close");
        };
    } else if (loc == "page2.html") {
        window.plugins.childBrowser.onClose = null;
    }
};
于 2013-02-08T14:21:59.223 に答える