0

当我在 page1 上的子浏览器中打开一个页面时,我想在关闭它时运行一个函数,它可以工作。但是,当我转到 page2 并在 childbrowser 中打开另一个页面时,它也会在此处运行该功能,我不希望这样。

那么,当我只在 page1 而不是在 page2 上关闭子浏览器时,如何运行函数呢?

当我关闭 CB 时,我在 page1 上使用它来运行该功能。

   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); 功能,但是如果我在 page2 上打开 CB,它不会运行警报,但它确实运行 jQT.goBack,这就是我不想要的。它应该只在我在 page1 上打开 CB 时运行 jQT.goBack,而不是在我在 page2 上的 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 回答