我想从我的cordova应用程序打开一个外部webapp,并直接在本机应用程序上处理webapp事件。例如,当加载特定URL时,应用程序应通过调用函数来处理它。有谁知道这是否可行?
答案 0 :(得分:3)
是的,绝对可以使用InAppBrowser处理某些事件。如果看at the API docs,您会看到可以使用的addEventListener
功能。目前看起来您可以在外部页面上监听的事件列表仍然有限:
为了您的目的,您可以使用loadStart
或loadStop
事件(不确定哪个最适合您的目的,可能是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
}
...
}