我正在尝试从注入到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设置为未定义。
发布于 2014-12-31 23:05:22
ref是在cordova webview上定义的,但是inAppBrowser有它自己的webview,而ref没有在那里定义,所以你不能这样关闭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");window.location.href = "close"; });'
}, function(){
console.log('script injected');
});
});
ref.addEventListener('loadstart', function(event) {
if(event.url.indexOf("close") > -1) {
ref.close();
}
});https://stackoverflow.com/questions/27721341
复制相似问题