我正在尝试从注入它的脚本中关闭inappbrowser实例。
这是我试过的代码。
ref = window.open(tile.typeContentUrl_en, '_blank', 'location=no');
ref.addEventListener('loadstop', function(data, err) {
ref.executeScript( {
code: 'document.getElementsByTagName("body")[0].addEventListener("click", function(){ alert("clicked");ref.close() });'
}, function(){
console.log('script injected');
});
});
我在inappbrowser实例中未定义ref
。
答案 0 :(得分:2)
ref
在cordova webview上定义,但inAppBrowser
拥有自己的网络视图,ref
未定义,因此您无法关闭inAppBrowser
这一点。
我没有对此进行测试,它有点hackish,但可能有效:
ref = window.open(tile.typeContentUrl_en, '_blank', 'location=no');
ref.addEventListener('loadstop', function(data, err) {
ref.executeScript( {
code: 'document.getElementsByTagName("body")[0].addEventListener("click", function(){ alert("clicked");window.location.href = "close"; });'
}, function(){
console.log('script injected');
});
});
ref.addEventListener('loadstart', function(event) {
if(event.url.indexOf("close") > -1) {
ref.close();
}
});