Javascript Cordova InApp浏览器多窗口问题

Javascript Cordova InApp浏览器多窗口问题,javascript,cordova,inappbrowser,Javascript,Cordova,Inappbrowser,我在应用浏览器(phonegap)中遇到Cordova问题。 例如: var bot1, bot2; //windows function createb1(){ //create window1 bot1 = window.open(encodeURI("http://yandex.ru?b=1"), '_blank', 'hidden=yes'); bot1.val = "bot1"; bot1.addEventListener('loadstop', fun

我在应用浏览器(phonegap)中遇到Cordova问题。 例如:

var bot1, bot2;    //windows

function createb1(){ //create window1
    bot1 = window.open(encodeURI("http://yandex.ru?b=1"), '_blank', 'hidden=yes');
    bot1.val = "bot1";
    bot1.addEventListener('loadstop', function(event) {  //add listener
        console.log("B1 loadstop " + event.url);
        $.get("js/embed.js", function(data){
           bot1.executeScript({code: data});
        });
    });
}

function createb2(){  //create window 2
        bot2 = window.open(encodeURI("http://yandex.ru?b=2"), '_blank', 'hidden=yes');
        bot2.val = "bot2";
        bot2.addEventListener('loadstop', function(event) {  //add listener
            console.log("B2 loadstop " + event.url);
            $.get("js/embed.js", function(data){
                bot2.executeScript({code: data});
            });
        });
};

function goB1(){  //go page window 1
        console.log(bot1);
        bot1.executeScript({code: "goPage('http://yandex.com.ua?b=1');"});
}

function goB2(){  // go page window 2
    console.log(bot2);
    bot2.executeScript({code: "goPage('http://yandex.com.ua?b=2');"});
}
embed.js

function goPage(page){
    window.location.href = page;
}
控制台:

> createb1();
  B1 loadstop http://www.yandex.ru/?b=1
> goB1();
  InAppBrowser {channels: Object, val: "bot1", _eventHandler: function, close: function, show: function…}
  *B1 loadstop http://www.yandex.ru/ua/?b=1*
> createb2();
  B2 loadstop http://www.yandex.ru/?b=2
> goB1();
  InAppBrowser {channels: Object, val: "bot1", _eventHandler: function, close: function, show: function…}
  **B2 loadstop http://www.yandex.ru/ua/?b=1** 

当我创建window2(bot2)时,window1(bot1)丢失了处理程序。为什么会这样?如何在bot1处理程序而不是bot2处理程序中捕获事件?

您有没有想过这一点?我也有同样的问题,我正在使用window.open在系统浏览器中打开一个url,然后我的应用程序松开了inappbrowser的处理程序。(我需要同时使用两者)@Publicus,很抱歉反应太晚。我记得,Inappbrowser插件只允许打开单个实例,因为它只是对话框中的一个webview。只有一个dialog和wv实例。你可以复制粘贴他们的插件,并对其稍作修改(用treir的代码创建你自己的插件)-然后你将有2个插件,这意味着你可以打开2个WebView=)你知道这一点吗?我也有同样的问题,我正在使用window.open在系统浏览器中打开一个url,然后我的应用程序松开了inappbrowser的处理程序。(我需要同时使用两者)@Publicus,很抱歉反应太晚。我记得,Inappbrowser插件只允许打开单个实例,因为它只是对话框中的一个webview。只有一个dialog和wv实例。您可以复制粘贴他们的插件,并对其进行一些更改(使用treir的代码创建您自己的插件)-然后您将拥有2个插件,这意味着您可以打开2个WebView=)