Объект History и iframe
Здравствуйте,
я не профессионал в JS, но возникла задача, которую иными средствами решить возможным не представляется, но и через JS тоже почему-то не выходит. Суть такова: при загрузке динамической страницы, цель которой осуществить редирект посетителя, необходимо определить метод попадания на эту страницу - либо пользователь пришёл на неё по ссылке, либо редирект уже был осуществлён до этого и пользователь пришёл с помощью back button браузера. Мне изначально показалось реальным решить эту задачу с помощью объекта History в JS, для чего я создал iframe, в котором выполняю history.go(1), а из родительского документа хочу проверить document.getElementById('iframeID').contentWindow. location.href и если он не первоначальный, то значит в history был объект "впереди" и пришли по back button. Проблема в том, что каким бы образом я ни пытался обращаться к history.go(1) через элемент iframe, редирект всё равно происходит главной страницы, а не внутри iframe. Информация по этому объекту почему-то недостаточно ясная, поэтому я хотел бы уточнить - это умышленное ограничение имплементации и history-walk нельзя проделать внутри Iframe в целях конфиденциальности, или я всё-таки делаю что-то не так? Проверялось на браузерах IE8 и Chrome (точную версию не назову, пишу с домашней машины). Прошу удержаться от соблазна обсуждать изначальную задачу, приложение очень специфичное и избежать этого момента практически не представляется возможным ;) Заранее спасибо за любые советы! |
Цитата:
|
Цитата:
это позволит определить страницу, с которой пришел пользователь насчет кнопки назад - пользоваться народными средствами (выше, куки) |
Цитата:
|
Спасибо всем за ответы, по порядку:
1) Касательно решения с cookies - я над этим думал, но не складывается оно что-то - дело в том, что редирект происходит не на мой сайт, поэтому установка их на "конечной" странице, с которой потом и происходит возвращение, не представляется возможным... 2) Уж поверьте, referrer - это первое, на что я рассчитывал, вот только оказалось, что при возвращении к документу с помощью back button реферрер остаётся старым (т.е. оригинальным). 3) Приложение на стыке СЕО и адвертайзинга, и ни о каком UI речи не идет - задача именно правильно определять направления движения пользователей и корректно осуществлять в соответствии с этим редирект. |
Часовой пояс GMT +3, время: 17:10. |