我想从我的科尔多瓦应用程序中打开一个外部 webapp 并直接在本机应用程序上处理 webapp 事件。例如,当加载特定 URL 时,应用程序应通过调用函数来处理它。有谁知道这是否可能?
问问题
3661 次
1 回答
3
是的,绝对可以使用 InAppBrowser 处理一些事件。如果您查看API 文档,您会看到一个addEventListener
可以使用的函数。目前,您可以在外部页面上收听的事件列表似乎仍然有限:
- loadstart - InAppBrowser 开始加载 URL 时触发的事件
- loadstop - InAppBrowser 完成加载 URL 时触发的事件
- loaderror - 当 InAppBrowser 在加载 URL 时遇到错误时触发的事件
- exit - InAppBrowser 窗口关闭时触发的事件
看起来您可以只使用loadStart
orloadStop
事件(不确定哪个最适合您的目的,可能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 回答