私はphonegapが初めてです。サンプルアプリケーションを1つ準備しました。私のアプリケーションには2つのページがあり、最初のページには1つのボタンがあり、クリックすると2番目のページが開きます。以下を使用して正常に動作しています
function callAnothePage()
{
window.location = "test.html";
}
2番目のページには1つのボタンがあり、クリックするとアプリケーションを終了します。私は次を使用しました
function exitFromApp()
{
navigator.app.exitApp();
}
test.html
コード、
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad()
{
console.log("device reday !!!!")
document.addEventListener("deviceready", onDeviceReady, true);
}
function exitFromApp()
{
console.log("in button");
navigator.app.exitApp();
}
</script>
</head>
<body onload="onLoad();">
<h4><center>Login Page</center></h4>
<input type="submit" onclick="exitFromApp()" value="exit"/>
</body>
</html>
しかし、それは機能していません。
このコードを試してください。
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad()
{
document.addEventListener("deviceready", onDeviceReady, true);
}
function exitFromApp()
{
navigator.app.exitApp();
}
</script>
</head>
<body onload="onLoad();">
<button name="buttonClick" onclick="exitFromApp()">Click Me!</button>
</body>
</html>
src = "cordova-1.5.0.js"をphonegap jsに置き換えます。
アプリに応じて、さまざまな方法で閉じることができます:
if (navigator.app) {
navigator.app.exitApp();
} else if (navigator.device) {
navigator.device.exitApp();
} else {
window.close();
}
navigator.app.exitApp();
アプリケーションを終了する場所にこの行を追加します。
@Pradip Kharbuja
Cordova-2.6.0.js(l。4032)の場合:
exitApp:function() {
console.log("Device.exitApp() is deprecated. Use App.exitApp().");
app.exitApp();
}
if(navigator.app){
navigator.app.exitApp();
}else if(navigator.device){
navigator.device.exitApp();
}
申し訳ありませんが、コメントで返信することはできません。参考までに、これらのコード
if (navigator.app) {
navigator.app.exitApp();
}
else if (navigator.device) {
navigator.device.exitApp();
}
else {
window.close();
}
動作しないことを確認します。 phonegap 6.0.5とcordova 6.2.0を使用します
私のアプリはブラウザだけでなくデバイスでも動作するため、上記の組み合わせを使用しました。ブラウザーの問題は、アプリがスクリプト(browsersyncなど)で開かれない限り、スクリプトからウィンドウを閉じることができないことです。
if (typeof cordova !== 'undefined') {
if (navigator.app) {
navigator.app.exitApp();
}
else if (navigator.device) {
navigator.device.exitApp();
}
} else {
window.close();
$timeout(function () {
self.showCloseMessage = true; //since the browser can't be closed (otherwise this line would never run), ask the user to close the window
});
}