Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Sergg от 26 Марта 2004, 13:14:34
-
Итак имеем ситуацию:
в body стоит
Реально ли с помощию java передать в функцию functionname() адрес ссылки на которую нажал пользователь. Т.е есть какая-то страница с этой функцией и если посетитель переходит на другую страницу (или сайт) можно ли как-то узнать запрос броузеру на эту страницу - т.е узнать url той страницы на которую переходит пользователь и передать этот url в функцию functionname()?
Если по логике думать, то это реально, но я с java особо не сталкивался поэтому не знаю реально ли перехватить запрос к броузеру.
Кто-нибудь знает что-то по этому поводу?
-
А незачем тебе onunload испрользовать... Делай так:
а саму функцию опиши так:
-
Спасибо, это почти то что мне было нужно.
Появился еще один вопрос - как однозначно можно определить что окно браузера закрывают и передать это в функцию на javascript?
BODY onunload="functionname()"> не катит, по тому что срабатывает и когда окно браузера закрывают и когда посетитель преходит на другую страницу в этом же окне.
Как по другому?
-
Напрямую, кажется, проблемма не решится... а вот следующий кусок кода испробуй, думаю, ты догадываешься, что я имею ввиду...
-
Функция onbeforeunload и Яндекс нашли мне следующее решение:
Только не совсем понимаю причем тут ширина и длина рабочей области экрана.
-
Так ничего это тебе в решении не дает. Добавь после boby следующее:
Яндекс
и увидишь, что (как и должно быть) он тоже среагирует на нажатие ссылки.
Я в предыдущем посте имел ввиду, что с помощью clientX и cclientY можно попробовать вычислить, где находился курсор мыши в момент события... если не на интересующей нас кнопке --- то отбой! в обработчике -- return false;
-
Я имел ввиду что когда ты написал код onbeforeunload я не знал что за эта объект в javascript и пояиском в яндексе по этому слову нашел сайт на котором было решение которое я последний раз написал.
Почему мне это не чего не дает - я вставляю ту функцию которую я писал послений раз и все нормально, если посетитель закрывает окно то выводиться \'Посетитель закрыл окно\' (у меня window.open("http://sitename.ru/")), если он не закрыл а работает в этом же окне то ничего не происходит. Все как я хотел.
-
Так ты ж говорил, что тебя не устраивает вариант, когда функция сработает, если окно не закрылось, но по ссылке перешел на другую страницу...
Появился еще один вопрос - как однозначно можно определить что окно браузера закрывают и передать это в функцию на javascript?
BODY onunload="functionname()"> не катит, по тому что срабатывает и когда окно браузера закрывают и когда посетитель преходит на другую страницу в этом же окне.
Ну да ладно.... хорошо, если ты сделал, что тебе нужно....
-
Да, сам по себе BODY onunload меня не устраивал, но условие
if (document.body.clientWidth == w) {alert(\'Посетитель закрыл окно\');}
дает возможность точно определить что посетитель закрыл окно, а не просто обновил его или перешел на другую страницу в этом же окне. Только повторюсь - не понимаю каким это мистическим образом она работает (т.е причем здесь document.body.clientWidth - не вижу зависимости между закрытием окна и шириной рабочей области).
Главное работает, правда не всегда :)