Comme répondu dans d'autres posts, vous disposez de deux options différentes pour différentes plates-formes. Ce que je fais, c'est:
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
// Mock device.platform property if not available
if (!window.device) {
window.device = { platform: 'Browser' };
}
handleExternalURLs();
}
function handleExternalURLs() {
// Handle click events for all external URLs
if (device.platform.toUpperCase() === 'ANDROID') {
$(document).on('click', 'a[href^="http"]', function (e) {
var url = $(this).attr('href');
navigator.app.loadUrl(url, { openExternal: true });
e.preventDefault();
});
}
else if (device.platform.toUpperCase() === 'IOS') {
$(document).on('click', 'a[href^="http"]', function (e) {
var url = $(this).attr('href');
window.open(url, '_system');
e.preventDefault();
});
}
else {
// Leave standard behaviour
}
}
Donc, comme vous pouvez le voir, je suis la vérification de la plate-forme et selon que je suis en utilisant une méthode différente. Dans le cas d'un navigateur standard, je laisse la norme de comportement. À partir de maintenant sur la solution fonctionnera très bien sur Android, iOS et dans un navigateur, tandis que la page HTML ne seront pas modifiées, de sorte qu'il peut avoir des URLs représenté en tant que norme d'ancrage
<a href="http://stackoverflow.com">
La solution nécessite InAppBrowser de Périphérique et des plugins