2015-10-16 1 views
1

Cela s'applique à la fois à Android et à iOS. Ma page Web peut parfois être ouverte par une application (vous allez à l'application, et cliquez sur un lien là-bas qui ouvre la page). Je veux savoir si la page a été accessible via une application ou si l'utilisateur y est arrivé, disons, en tapant l'adresse sur le navigateur. Si vous y accédez via une application, je n'ai pas besoin de savoir de quelle application il s'agit.Détecter si la page a été ouverte à partir de l'application

La seule chose que je sais est document.referrer, mais il semble retourner "" lorsque la page a été ouverte par l'application. Malheureusement, l'utilisation de "" comme indicateur n'est pas possible, car d'autres moyens d'accéder à la page peuvent également afficher "" (par exemple en tapant l'adresse). L'objet history ne semble pas contenir les informations que je recherche. J'utilise un centre d'aide Zendesk, j'ai donc seulement accès au javascript de la page pour le détecter. Je ne peux pas apporter de modifications du côté serveur de ma page. Sinon, je peux être en mesure de parler aux gens en charge de l'application afin qu'ils incluent quelque chose lorsque l'application ouvre le navigateur qui me permettrait d'accéder à cette information sur le navigateur, mais je ne suis pas sûr de ce que pourrait être. Des idées?

Merci!

Répondre

0

Il me semble que votre meilleur pari serait d'avoir des liens spécifiques pour votre site qui vous permettra de savoir que le lien provient de l'application.

comme ceci: http://www.yoursite.com/?openedFromApp

Vous utilisez ces liens à l'intérieur de l'application qui sera diriger les utilisateurs vers votre site Web.

De cette façon, si vous utilisez PHP comme langage côté serveur que vous seriez en mesure de vérifier si le paramètre d'URL openedFromApp a été défini comme ceci:

<?php 
if(isset($_GET['openedFromApp'])) { 
    echo "The website was opened by an app"; 
} 
else { echo "The website was opened normally"; } 
?> 

Si vous voulez vérifier si le openedFromApp Le paramètre URL est défini à l'aide de Javascript. Vous devez créer votre propre fonction pour accéder aux paramètres d'URL, car Javascript ne permet pas d'y accéder.

Mais ce lien peut vous aider à accéder aux paramètres d'URL avec Javascript: https://stackoverflow.com/questions/...

+0

Ceci est en fait une grande idée qui va aider beaucoup de gens avec le même problème! Malheureusement, dans mon cas, je n'ai pas accès au côté serveur de mon site, seulement au js/html/css (je vais ajouter ceci à la question maintenant). Je peux taper mysite.com/?test, mais cela est ouvert par le navigateur sous le nom mysite.com, car je ne suis pas capable de créer cette route. Je me demande s'il y a un moyen de détecter que la page a été demandée avec une URL de chaîne de requête même si le navigateur l'a traduit en URL normale. – PolRod

+0

Mais avez-vous accès à l'application qui envoie les utilisateurs vers votre site Web? – Droid047

+0

Parce que si vous avez accès à l'application, même si vous avez simplement accès au côté client, vous pouvez utiliser la solution que j'ai suggérée plus haut. – Droid047