jquerymobile でほぼ完全に構築された phonegap ベースの mobileweb アプリケーションを構築しています。
いくつかのページに外部サイトへのリンクがあり、クライアントは、ユーザーがアプリを離れて外部サイトに移動するかどうかを尋ねるポップアップを表示したいと考えています。クライアントはまた、ユーザーがリンクをたどることを選択した場合、アプリケーションを終了するよう求めました。
これが私のJSです:
if (typeof CORP == "undefined" || !CORP) {
var CORP = {};
}
(function() {
CORP.mk = {
var mobile = false;
init: function() {
$("[data-role='page']").on("pagebeforeshow", CORP.mk.setHandlers);
},
onDeviceReady: function () {
CORP.mk.mobile = true;
document.addEventListener("pause", CORP.mk.onPause, false);
},
onPause: function () { // Exit the app if it goes to background
navigator.app.exitApp();
},
setHandlers: function () {
if ( CORP.mk.mobile ) {
$("a[rel='external']").click(function (e) {
e.preventDefault();
CORP.mk.externalLink = $(this).attr("href");
alert(CORP.mk.externalLink);
navigator.notification.confirm("You are about to close this mobile app and open your web browser.",
CORP.mk.popupConfirm,
"Close This App?");
});
}
}
};
})():
$(document).bind("pageinit", CORP.mk.init);
document.addEventListener("deviceready", CORP.mk.onDeviceReady, false);
ここに私のマークアップがあります:
<a rel='external' data-ajax='false' href='http://www.google.com'>googly</a>
CORP.mk.mobile
問題: Chrome デスクトップ ブラウザでこのコードを無視してテストしたところ、問題なく動作しました。ただし$(this).attr("href");
、常にinまたはに戻り'#'
、phonegap で外部アプリケーションを起動できません。実際のリンクを取得して外部アプリを起動できるようにしたい。多くの組み合わせを試しましたが、解決策が見つかりませんでした。洞察に感謝します。href
Android
IOS