Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Sergg от 26 Марта 2004, 13:14:34

Название: Вопрос по java
Отправлено: Sergg от 26 Марта 2004, 13:14:34
Итак имеем ситуацию:

в body стоит

Реально ли с помощию java передать в функцию functionname() адрес ссылки на которую нажал пользователь. Т.е есть какая-то страница с этой функцией и если посетитель переходит на другую страницу (или сайт) можно ли как-то узнать запрос броузеру на эту страницу - т.е узнать url той страницы на которую переходит пользователь и передать этот url в функцию functionname()?

Если по логике думать, то это реально, но я с java особо не сталкивался поэтому не знаю реально ли перехватить запрос к броузеру.

Кто-нибудь знает что-то по этому поводу?
Название: Вопрос по java
Отправлено: Werwolf13 от 26 Марта 2004, 14:21:43
А незачем тебе onunload испрользовать... Делай так:

а саму функцию опиши так:
Название: Вопрос по java
Отправлено: Sergg от 26 Марта 2004, 16:02:51
Спасибо, это почти то что мне было нужно.

Появился еще один вопрос - как однозначно можно определить что окно браузера закрывают и передать это в функцию на javascript?

BODY onunload="functionname()"> не катит, по  тому что срабатывает и когда окно браузера закрывают и когда посетитель преходит на другую страницу в этом же окне.

Как по другому?
Название: Вопрос по java
Отправлено: Werwolf13 от 26 Марта 2004, 17:22:16
Напрямую, кажется, проблемма не решится... а вот следующий кусок кода испробуй, думаю, ты догадываешься, что я имею ввиду...

Название: Вопрос по java
Отправлено: Sergg от 26 Марта 2004, 19:34:24
Функция onbeforeunload и Яндекс нашли мне следующее решение:






Только не совсем понимаю причем тут ширина и длина рабочей области экрана.
Название: Вопрос по java
Отправлено: Werwolf13 от 26 Марта 2004, 20:44:46
Так ничего это тебе в решении не дает. Добавь после boby следующее:
Яндекс
и увидишь, что (как и должно быть) он тоже среагирует на нажатие ссылки.
Я в предыдущем посте имел ввиду, что с помощью clientX и cclientY можно попробовать вычислить, где находился курсор мыши в момент события... если не на интересующей нас кнопке --- то отбой! в обработчике --  return false;
Название: Вопрос по java
Отправлено: Sergg от 26 Марта 2004, 20:57:19
Я имел ввиду что когда ты написал код onbeforeunload  я не знал что за эта объект в javascript и пояиском в яндексе по этому слову нашел сайт на котором было решение которое я последний раз написал.

Почему мне это не чего не дает - я вставляю ту функцию которую я писал послений раз и все нормально, если посетитель закрывает окно то выводиться \'Посетитель закрыл окно\' (у меня window.open("http://sitename.ru/")), если он не закрыл а работает в этом же окне то ничего не происходит. Все как я хотел.
Название: Вопрос по java
Отправлено: Werwolf13 от 26 Марта 2004, 21:14:30
Так ты ж говорил, что тебя не устраивает вариант, когда функция сработает, если окно не закрылось, но по ссылке перешел на другую страницу...
Цитировать

Появился еще один вопрос - как однозначно можно определить что окно браузера закрывают и передать это в функцию на javascript?

BODY onunload="functionname()"> не катит, по тому что срабатывает и когда окно браузера закрывают и когда посетитель преходит на другую страницу в этом же окне.


Ну да ладно.... хорошо, если ты сделал, что тебе нужно....
Название: Вопрос по java
Отправлено: Sergg от 26 Марта 2004, 21:35:43
Да, сам по себе BODY onunload меня не устраивал, но условие

if (document.body.clientWidth == w) {alert(\'Посетитель закрыл окно\');}

дает возможность точно определить что посетитель закрыл окно, а не просто обновил его или перешел на другую страницу в этом же окне. Только повторюсь - не понимаю каким это мистическим образом она работает (т.е причем здесь document.body.clientWidth - не вижу зависимости между закрытием окна и шириной рабочей области).
Главное работает, правда не всегда :)