2015-01-02 5 views
2

Я работаю над мобильным приложением на iOS 8. document.referrer, кажется, всегда пуст. Я попытался проверить, если он существует с помощью:document.referrer существует, но всегда пуст

if('referrer' in document) { 
    alert('referrer ' + document.referrer); 
} 

и бросает предупреждение, но значение всегда пусто, ли я доступ к нему с другой страницы или если я доступ к странице в первый раз , Я также включил метатег:

<meta name="referrer" content="always"> 

Как получить значение document.referrer?

EDIT: Я также забыл упомянуть, что я не работаю над родным приложением iOS. Я использую cordova и HTML5 и JS.

+0

Как вы получите доступ к странице? Реферер всегда пуст, если вы напрямую обращаетесь к странице, т. Е. Не через ссылку. – chrisklaussner

+0

Я достаточно прочитал, чтобы знать, что он будет пустым, когда вы впервые получите доступ к ссылке. В любое другое время перенаправление происходит через location.href = "something.html". Когда я нахожусь в something.html, document.referrer по-прежнему пуст. – safincrazy

ответ

0

Поскольку мы ничего о своей родной обертке не знаем, возможно есть пара вещей происходит:

  1. document.referrer выводятся из HTTP заголовка Referer (обратите внимание, исторические опечатки). Возможно, что-то в вашем коде iOS настраивает или подавляет этот HTTP-заголовок.

  2. Если веб-приложение размещается с помощью URL-адреса с file схемы (как в file:///foo.html), браузер двигателей не будет устанавливать заголовок HTTP Referer для предотвращения утечки конфиденциальной информации. (Вы не хотите, чтобы отправить локальные имена файлов на удаленный веб-сервер, если, например, вы имели локальный веб-страницу, которая связала к удаленному сайту.)

Если вы обнаружили, что один из них происходят, вы можете вручную установить заголовок Referer, как описано в «Specifying HTTP referer in embedded UIWebView»

+0

Привет, спасибо за ваш ответ. Я не использую родной iOS, поэтому ссылка, на которую вы ссылались, не работает, я думаю? – safincrazy

+0

Тогда вам нужно будет предоставить более подробную информацию о своем приложении - как вы принимаете/обслуживаете/запускаете его? Что это значит, это веб-приложение «iOS»? Как именно вы переходите на страницу, на которую вы ищете реферера? – Palpatim

+0

Извините. Я использую cordova, HTML5 и JS. Я использую location.href = "page-path" для перехода на страницу. Помогает ли эта информация? – safincrazy

Смежные вопросы