Bonjour à tous et à toutes,
J'aurais besoin d'un petit coup de main pour faire fonctionner correctement un script.
Je voudrais rediriger les utilisateurs vers l'application Facebook si l'utilisateur a l'apli ou ouvrir une nouvelle page (target blank) vers ma page Facebook si utilisateur n'a pas l'apli.
Ça fonctionne presque sur mon ordi de bureau, j'ai pas l'apli donc je suis redirigé vers la page dans mon navigateur mais pas dans une nouvelle fenêtre.
J'ai essayé de remplacer les window.location par des window.open mais la plus rien ne fonctionne.

Sur mon portable je suis bien redirigé vers l'apli parce que je l'ai mais quelqu'un qui ne la pas a un message d'erreur au lien d'être redirigé dans le navigateur.

J’espère que quelqu'un pourra m'aider.
Merci d'avance.

Voici mon code actuel.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- iframe utilisé pour tenter de charger un protocole personnalisé -->
<iframe style="display:none" height="0" width="0" id="loader"></iframe>
	<script>(function(){
                 // Pour le navigateur de bureau, n'oubliez pas de transmettre toutes les métadonnées sur le lien pour le lien profond
                var fallbackLink = 'https://www.facebook.com/webinkmarseille/'+window.location.search+window.location.hash;
                 // Détection simple des appareils
                var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone') || navigator.userAgent.match('iPod'),isAndroid = navigator.userAgent.match('Android');
                // Mobile
                if (isiOS || isAndroid) {
                        // Chargez notre protocole personnalisé dans l'iframe, pour Chrome et Opera, cela enterre la boîte de dialogue d'erreur (qui est en fait HTML)
                        // pour iOS, nous obtiendrons une erreur contextuelle si ce protocole n'est pas pris en charge, mais il ne bloquera pas javascript
                        document.getElementById('loader').src = 'custom-protocol://my-app'+window.location.search+window.location.hash;
                         // Le lien de secours pour Android doit être https:// plutôt que market:// ou l'appareil essaiera de
                         // charge les deux URL et seule la dernière gagnera. (En particulier FireFox, où une boîte de dialogue "Êtes-vous sûr" apparaîtra)
                         // sur iOS, nous pouvons nous connecter directement à l'App Store car notre commutateur d'application se déclenchera avant le commutateur
                         // Si vous avez une application Web mobile, votre solution de repli pourrait être celle-ci à la place.
                  fallbackLink = isAndroid ? 'https://www.facebook.com/webinkmarseille/' :'fb://profile/webinkmarseille' ;
                }
                // Maintenant, nous attendons simplement que tout s'exécute, si l'utilisateur est redirigé vers votre application personnalisée
                // le délai d'attente ci-dessous ne se déclenchera jamais, si une application personnalisée n'est pas présente (ou si l'utilisateur est sur le bureau)
                // nous remplacerons l'URL actuelle par le fallbackLink (URL de magasin ou URL de bureau selon le cas)
                window.setTimeout(function (){ window.location.replace(fallbackLink); }, 1);
        })();</script>