Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.09.2011, 19:45
Новичок на форуме
Отправить личное сообщение для xloading Посмотреть профиль Найти все сообщения от xloading
 
Регистрация: 07.09.2011
Сообщений: 2

Объект 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 (точную версию не назову, пишу с домашней машины).

Прошу удержаться от соблазна обсуждать изначальную задачу, приложение очень специфичное и избежать этого момента практически не представляется возможным

Заранее спасибо за любые советы!
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2011, 21:36
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

Сообщение от xloading
редирект уже был осуществлён до этого и пользователь пришёл с помощью back button браузера
На сайте можно сделать кратковременные кукис, и проверить - если кукис пустые - то пользователь только что зашел на сайт. А если кукисы не пустые, но определенные вон на той странице на Вашем сайте с которой пользователь и пришёл с помощью back button браузера, то...
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2011, 11:00
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от xloading Посмотреть сообщение
либо пользователь пришёл на неё по ссылке, либо редирект уже был осуществлён до этого и пользователь пришёл с помощью back button браузера.
погуглите в сторону document.referrer
это позволит определить страницу, с которой пришел пользователь

насчет кнопки назад - пользоваться народными средствами (выше, куки)
Ответить с цитированием
  #4 (permalink)  
Старый 10.09.2011, 13:24
Аватар для crayday
Аспирант
Отправить личное сообщение для crayday Посмотреть профиль Найти все сообщения от crayday
 
Регистрация: 30.08.2011
Сообщений: 61

Сообщение от xloading
Прошу удержаться от соблазна обсуждать изначальную задачу, приложение очень специфичное и избежать этого момента практически не представляется возможным
А соблазн действительно велик =) Что это за специфика? Просто очень интересно.
Ответить с цитированием
  #5 (permalink)  
Старый 11.09.2011, 13:32
Новичок на форуме
Отправить личное сообщение для xloading Посмотреть профиль Найти все сообщения от xloading
 
Регистрация: 07.09.2011
Сообщений: 2

Спасибо всем за ответы, по порядку:
1) Касательно решения с cookies - я над этим думал, но не складывается оно что-то - дело в том, что редирект происходит не на мой сайт, поэтому установка их на "конечной" странице, с которой потом и происходит возвращение, не представляется возможным...
2) Уж поверьте, referrer - это первое, на что я рассчитывал, вот только оказалось, что при возвращении к документу с помощью back button реферрер остаётся старым (т.е. оригинальным).
3) Приложение на стыке СЕО и адвертайзинга, и ни о каком UI речи не идет - задача именно правильно определять направления движения пользователей и корректно осуществлять в соответствии с этим редирект.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
history рассширение для браузеров не поддерживающих pushState, replaceState devote Ваши сайты и скрипты 187 13.08.2015 10:40
jquery + iframe Fidel jQuery 6 12.10.2013 23:43
Iframe и History ЭмМэмДэмс Общие вопросы Javascript 4 02.09.2011 05:40
Вложенные IFrame и History goldserg Элементы интерфейса 1 28.03.2011 15:57
Закрыть iframe из iframe rawuk Элементы интерфейса 1 02.03.2011 11:05