2

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

4

1 回答 1

3

是的,绝对可以使用 InAppBrowser 处理一些事件。如果您查看API 文档,您会看到一个addEventListener可以使用的函数。目前,您可以在外部页面上收听的事件列表似乎仍然有限:

  1. loadstart - InAppBrowser 开始加载 URL 时触发的事件
  2. loadstop - InAppBrowser 完成加载 URL 时触发的事件
  3. loaderror - 当 InAppBrowser 在加载 URL 时遇到错误时触发的事件
  4. exit - InAppBrowser 窗口关闭时触发的事件

看起来您可以只使用loadStartorloadStop事件(不确定哪个最适合您的目的,可能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
    }
    ... 
}
于 2013-04-29T15:59:02.547 回答