Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   javascript: запрет перехода со страницы (https://forum.antichat.xyz/showthread.php?t=144458)

mmg 29.09.2009 19:23

javascript: запрет перехода со страницы
 
Здравсвуйте. Нужен такой java скрипт , которой бы запрещало юзеру переход со страницы. Поясню на примере.
Заходим в свой gmail.com аккаунт нажимает написать письмо , заполняем тему письма и нажимаем на какую-нибудь ссылку.
Вместо того что бы перейти по ссылке видим появляющееся окно с предупреждением. Это и нужно , только без всплывающих окон.

Sharky 29.09.2009 20:38

парсь все ссылки... и при наличии их делай алерт или чё там тебе надо

если надо чтоб не рапространялось на твой домен то уже условия добавляй

Pashkela 29.09.2009 20:39

и не забудь, что яваскрипт можно отключить

PaCo 29.09.2009 21:27

Если честно то ничего не понятно, что именно необходимо то? Что бы при заполненной форме нельзя было бы перейти по сторонней ссылки на странице не отправив форму?

Root-access 29.09.2009 23:19

На почтовых сервисах это делается так: все ссылки в письме заменяются на ссылки вида pochta.zona/redirect?url=адрес_ссылки, где redirect - это некий скрипт (например, на php), на котором висит предупреждение и ссылка на адрес из параметра url.
А javascript тут непричём.

d_x 30.09.2009 01:16

Цитата:

А javascript тут непричём.
Вообще-то JavaScript как раз при чем.
При попытке закрыть страницу или перейти на другую можно выдать предупреждение с двумя кнопками, как на гмейле, но запретить уйти полностью - нельзя.

PHP код:

<body OnBeforeUnload="return 'Go away?';"></body

PS. В опере не работает.

mmg 30.09.2009 02:15

Ну так если попытаться закрыть страницу , находясь в gmail , то получишь стандартное для
OnBeforeUnload окно , а вот если попытаться перейти на другую сьраницу , нажав на ссылку или клавишу навигации , то окно уже будет совсем другим , такое при использовании OnBeforeUnload не появляется. Так что gmail в этом случае использует что-то другое.


Время: 19:49