2015-10-16 2 views
1

Это относится как к Android, так и к iOS. Иногда мою веб-страницу можно открыть приложением (вы заходите в приложение и нажимаете ссылку там, которая открывает страницу). Я хочу знать, была ли доступ к странице через приложение или если пользователь добрался до нее, допустим, набрав адрес в браузере. Если вы получили доступ через приложение, мне не нужно знать, какое приложение оно было.Обнаружить, если страница была открыта из приложения

Единственное, что я знаю, это document.referrer, но, похоже, оно возвращается "", когда страница была открыта приложением. К сожалению использование «» в качестве индикатора невозможно, так как другие способы доступа к странице также могут показывать «» (например, ввод адреса). Объект history, похоже, не содержит информацию, которую я ищу. Я использую Справочный центр Zendesk, поэтому у меня есть только доступ к javascript страницы, чтобы обнаружить это. Я не могу вносить изменения на серверной стороне моей страницы.

В качестве альтернативы, я могу поговорить с людьми, отвечающими за приложение, чтобы они включали что-то, когда приложение открывает браузер, который позволит мне получить доступ к этой информации в браузере, но я не уверен, что это может быть. Есть идеи?

Спасибо!

ответ

0

Мне кажется, что ваша лучшая ставка будет заключаться в том, чтобы иметь определенные ссылки для вашего сайта, которые позволят вам узнать, что ссылка пришла из приложения.

Как так: http://www.yoursite.com/?openedFromApp

Вы будете использовать эти ссылки внутри приложения, которые будут направлять пользователей на ваш сайт.

Таким образом, если вы используете PHP в качестве серверного языка вы были бы в состоянии проверить, если параметр URL openedFromApp был установлен следующим образом:

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

Если вы хотите проверить, если openedFromApp Параметр URL задается с помощью Javascript, который вам нужно будет создать свою собственную функцию для доступа к параметрам URL, поскольку Javascript не имеет встроенного способа доступа к ним.

Но эта связь может помочь вам получить доступ к параметрам URL с Javascript: https://stackoverflow.com/questions/...

+0

Это действительно отличная идея, которая поможет много людей с такой же проблемой! К сожалению, в моем случае у меня нет доступа к серверной стороне моего сайта, только к js/html/css (я добавлю это на вопрос сейчас). Я могу набрать mysite.com/?test, но он открывается браузером как mysite.com, так как я не могу создать этот маршрут. Интересно, есть ли способ обнаружить, что страница была запрошена с URL-адресом строки запроса, даже если браузер перевел его на обычный URL-адрес. – PolRod

+0

Но у вас есть доступ к приложению, которое отправляет пользователей на ваш сайт? – Droid047

+0

Поскольку, если у вас есть доступ к приложению, даже имея доступ к стороне клиента, вы можете использовать решение, которое я предложил выше. – Droid047