使用InAppBrowser将事件从远程网页直接处理到应用程序

时间:2013-04-29 09:59:24

标签: cordova inappbrowser

我想从我的cordova应用程序打开一个外部webapp,并直接在本机应用程序上处理webapp事件。例如,当加载特定URL时,应用程序应通过调用函数来处理它。有谁知道这是否可行?

1 个答案:

答案 0 :(得分:3)

是的,绝对可以使用InAppBrowser处理某些事件。如果看at the API docs,您会看到可以使用的addEventListener功能。目前看起来您可以在外部页面上监听的事件列表仍然有限:

  1. loadstart - InAppBrowser开始加载URL时触发的事件
  2. loadstop - InAppBrowser完成加载网址时触发的事件
  3. loaderror - 当InAppBrowser遇到加载URL的错误时触发的事件
  4. exit - 关闭InAppBrowser窗口时触发的事件
  5. 为了您的目的,您可以使用loadStartloadStop事件(不确定哪个最适合您的目的,可能是loadStart()。)

    以下是一些示例代码:

    在用于打开inAppBrowser的HTML页面中:

    function onDeviceReady(){
         var ref = window.open('http://your.site.com/page', '_blank', 'location=yes');
         ref.addEventListener("loadstop", IABcallback);
    }
    
    function IABcallback(o){
        console.log("InApBrowser loaded: " +  o.url);
        if( o.url === "http://your.site.com/page2.html"){
            // Do whatever special stuff you want to do for page2 here
        }
        ... 
    }