![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| GZep |
|
||||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Вот, написал небольшой, но думаю очень полезный скрипт.
Вставляем в страницу код javascript:
Теперь создаем html ссылки: <a href="index.html" confirm="Вы действительно хотите перейти по ссылке?">index</a> <a href="new.html" confirm="Вы действительно хотите перейти к new.html?">new</a> Соответственно все ссылки на странице со скриптом (если они имеют атрибут confirm) будут запрашивать подтверждение при переходе. Если атрибут confirm отсутствует(например:<a href="new.html">new</a>), то будет происходить обычный переход, без всяких вопросов... Другие атрибуты типа target на ход выполнения скрипта повлиять не смогут... Вот и все!
Это сообщение отредактировал(а) 12345c - 7.11.2006, 16:53 |
||||
|
|||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: нет Всего: 36 |
Забавно, конечно, но не работает.
Во-первых document.body до onload может быть еще не определен — перехватчик нужно вешать на window. Во-вторых при отказе пользователя делается ветвление на ie/gecko, но в то же время в обоих ветках используется event, определенный только для IE. Для зачета требуется доработка. ) |
|||
|
||||
| GZep |
|
||||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Доработал.
В опере работает. Поточнее скажи, как можно апгрейдить. Это сообщение отредактировал(а) GZep - 5.11.2006, 14:16 -------------------- ![]() ![]() |
||||
|
|||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 1 Всего: 401 |
То же самое (за основу взят пример с Xpoint):
GZep, все-таки любите Вы циклы там, где без них куда удобнее... Это сообщение отредактировал(а) SelenIT - 5.11.2006, 15:13 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
SelenIT, извините, но не совсем все понятно в коде...
P.S. обожаю циклы, они такие...эээ...бесконечные... P.S.(2) а ИЕ правда "Stupid", т.е. тупой? -------------------- ![]() ![]() |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 1 Всего: 401 |
GZep, комментарии вписал (попутно одну строчку еще компактнее сделал). А по поводу IE... первоначальные комменты остались от оригинального примера, возможно, автор немного пристрастен (хотя и невероятно компетентен), но необходимость поддерживать несколько веток кода и эмулировать стандартные возможности обходными путями несколько утомляет. Хотя у IE есть и свои полезные фичи, которые, наверное, стоило бы внести в официальный стандарт... но это уже тема для флейма и холивора)
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Это сообщение отредактировал(а) GZep - 5.11.2006, 17:42 -------------------- ![]() ![]() |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 1 Всего: 401 |
GZep,
Это сообщение отредактировал(а) SelenIT - 5.11.2006, 18:05 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Ну, что тут сказать...
-------------------- ![]() ![]() |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Вся проблема в том, что моего уровня знаний нехватает для того, чтобы писать такие функции, какие пишите Вы. От этого и идут мои проблемы.
Это сообщение отредактировал(а) GZep - 5.11.2006, 19:37 -------------------- ![]() ![]() |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 1 Всего: 401 |
GZep, я сам далеко не волшебник и еще многому учусь (в т.ч., как оказывается, достаточно базовым вещам). Просто когда появляются новые возможности, позволяющие сделать что-то более красиво и оптимально - хочется научиться использовать их по-полной. Правда, Javascript (и еще в большей мере CSS) - такая вещь, что новое часто бывает неуниверсальным, поэтому часто приходится идти на компромиссы... но в конце концов прогресс не стоит на месте, равняться, по-моему, следует на новое, а не на поддержку "динозавров"...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
GZep,
Да не проблема это вовсе! Уровень поднимется - не успеете оглянуться! Чего я, кстати, всем желаю (т.е. поднятия уровня)! Себя не забуду - себе я желаю этого в первую очередь! ;) Я тут попробовал написать чуть-чуть по-другому. Не совсем серьезно, типа по-модному - сейчас же в "ходу" всякие-разные "библиотечные" варианты, ООП и все-такое. Короче говоря - сделал вот таким объектом (на самом деле - то же, что и в первом варианте этой темы):
Это сообщение отредактировал(а) AKS - 6.11.2006, 21:33 |
||||
|
|||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 1 Всего: 401 |
AKS, по-моему, отлавливать ссылки через getElementsByTagName('a') слегка неудобно: не все теги A - ссылки, и не всё, что действует как ссылки - теги A (бывают еще map + area, я сам в молодости ими, признаться, злоупотреблял). ИМХО проверка наличия атрибута href как-то понадежнее... Хотя могу в этом и заблуждаться.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
SelenIT,
Наверно... Можно попробовать так (в попытке достичь чуть большего "удобства" ;) ):
|
||||
|
|||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Спасибо. Я долго думал, какой вариант предпочтительней, мой, или тот, что предложил SelenIT. В общем, все-таки как тут не крути, но циклом присваевать всем ссылкам с атрибутом confirm функцию при нажатии гораздо менее удобнее чем просто отлавливать переходы по ссылкам. Все, я сдаюсь и циклы в подобных ситуациях признаю неприемлимыми.
-------------------- ![]() ![]() |
|||
|
||||
![]()
|
| Здесь публикуют скрипты, которые уже проверены в обсуждениях других тем (при этом полезно поставить ссылки на все смежные обсуждения) или переносятся кем-либо из модераторов по просьбе участников, если видно, что в результате обсуждения темы был написан полезный или интересный скрипт. Третий возможный вариант - участник форума публикует скрипт, заведомо известный как полезный и эффективный, для, возможно, небольшой доработки и обсуждения. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Наши скрипты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |