Xpoint
   [напомнить пароль]

Не работает document.referrer

Метки: [без меток]
2007-07-17 11:56:33 [обр] Владимир[досье]

Здравствуйте.

Есть страница со списком ссылок. При клике на каждую ссылку открывается новое окно. Для открытия нового окна используется код:

<a href="javascript:{function openwin(){window.open('/links/?check=1&id=4548','','Toolbar=0, Location=1, Directories=0, CopyHistory=1, Status=0, Menubar=0, Scrollbars=1, Resizable=1, Width='+Math.ceil(document.body.clientWidth/2)+',Height='+Math.ceil(screen.Height-61)+',Left='+Math.ceil(document.body.clientWidth/2)+',Top=0')}openwin()}">Описание ссылки</a>

В коде страницы, которая открывается в новом окне по ссылке, есть код

<SCRIPT Language="Javascript">
<!--
function splitString (stringToSplit,separator) {
   arrayOfStrings = stringToSplit.split(separator)
   document.write (arrayOfStrings[1]) }

var separator="id="
          
var url = document.referrer;
document.write(url);
splitString(url,separator)
//-->
</SCRIPT>

Переменная url пуста, т.е., получается, что document.referrer не срабатывает. Подставлял строку window.history-length вместо строки var url = document.referrer; - ее значение 0.
Т.е., получается, что при открытии страницы в новом окне совершенно не определяется, с какой страницы ее открыли.

Как решить эту проблему?

Заранее спасибо.

С наилучшмими пожеланиями,
Владимир.

спустя 44 минуты [обр] Роман Чемисов(7/327)[досье]
Владимир[досье]
Самый надёжный способ — явно передавать нужное Вам значение в новое окно.
спустя 22 минуты [обр] Евгений Петров(11/1055)[досье]

Владимир[досье]
Вообще-то, по-хорошему, и не должен передаваться referrer в страницу, открываемую с помощью window.open. Вот пример на эту тему. Только MZ напишет это свойство, остальные просто проигнорируют.

P.S. А без мусора приводить код трудно?

спустя 11 минут [обр] Владимир[досье]

Всем ответившим спасибо. Выбрал явную передачу значения.

P.S. 2Петров - мне кажется, что приведенный код достаточно минимален, чтобы дать возможность понять суть вопроса.

спустя 2 часа 58 минут [обр] Владимир[досье]

Мне также подсказали следующее

Для новых окон или popup-ов проблему можно решить так:
var url = window.opener.location.href;

Работает!

спустя 11 минут [обр] Евгений Петров(11/1055)[досье]
Владимир[досье] а Вы вообще смотрите то, что Вам предлагают?))
спустя 2 минуты [обр] Евгений Петров(11/1055)[досье]
Это было написано в приведенном выше примере еще 3 часа назад.
Powered by POEM™ Engine Copyright © 2002-2005