How to close InAppBrowser itself in Phonegap Application?

后端 未结 3 1535
予麋鹿
予麋鹿 2021-01-17 16:14

I am developing Phonegap application and currently i am using InAppBrowser to display external pages. On some of the external pages I place a close

相关标签:
3条回答
  • 2021-01-17 16:38

    There is a SO post here that describes how to do this.

    You basically have to get a reference to the inapp browser by calling window.open and hook into the loadstop event. In the loadstop event check to see if the url contains a predefined path (like mobile/close - but could be anything) and then call call close.

    Here is the post

    https://stackoverflow.com/a/15981972/54805

    0 讨论(0)
  • 2021-01-17 16:39

    This worked for me:

    var win=window.open( "myurl", "_blank");
    win.addEventListener( "loadstop", function(){
           var loop = window.setInterval(function(){
               win.executeScript({
                       code: "window.shouldClose"
                   },
                   function(values){
                       if(values[0]){
                         win.close();
                         window.clearInterval(loop);
                       }
                   }
               );
           },100);
       });
    

    In your called window, simply do:

    window.shouldClose=true
    

    When you want to close it

    0 讨论(0)
  • 2021-01-17 16:44

    There's a solution provided in this blog post: cross window communication with cordova's inappbrowser

    Essentially, you could use executeScript() from the parent window to the InAppBrowser instance over and over (once or twice a second, for example), to check whether a value in the IAB has been set. Pressing the "close" button in IAB could set such a variable.

    When the parent window discovers that the variable has been set in the IAB, the parent window uses the IAB reference to close() it.

    0 讨论(0)
提交回复
热议问题