以下代码来自 phonegap 官方网站。这是行不通的。
<!DOCTYPE html>
<html>
<head>
<title>InAppBrowser.addEventListener Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstart', function() { alert('start: ' + event.url); });
ref.addEventListener('loadstop', function() { alert('stop: ' + event.url); });
ref.addEventListener('exit', function() { alert(event.type); });
}
</script>
</head>
<body>
</body>
</html>
在此之后,我做了一个按钮。单击按钮时,然后打开应用内浏览器。
function onDeviceReady() {
$('#btn').click(function(){
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstart', function() { alert('start: ' + event.url); });
ref.addEventListener('loadstop', function() { alert('stop: ' + event.url); });
ref.addEventListener('exit', function() { alert(event.type); });
});
}
当我第一次单击按钮时,没有警报。所以我点击完成按钮关闭浏览器。然后我第二次单击该按钮,警报正在工作。我重新部署程序并重复此操作。结果是一样的,只有在我第二次单击按钮时才会触发警报。有人能告诉我为什么吗?