Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2008-12-18 03:53:38

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

HTML/JS menu - особенности работы IE/Opera/FF

Решаю задачу - новый генератор меню для ngcms.
Основные требования:
1. Работа даже при выключенном JS (т.е. все чисто-JS-меню отпадают)
2. Возможность открывать/закрывать ветки меню (при клике на "+" и "-")
3. Выделение текущего активного пункта меню

Получился вполне компактный HTML/JS код, но вот проблема - в FF меню работает отлично.
А вот в других браузерах начинаются проблемы:
IE - для блока span, для которого выставлено display: list-item, почему-то не срабатывает событие onclick при щелчке на мой list-style-image
Opera - вообще не отрабатывает list-style-image

Знатоки HTML, помогите разобраться!
Вот так выглядит предварительный вариант меню:
c2ba1bc54b239208cb37b901c0d3b363.png

HTML код меню лежит тут: http://ngcms.ru/test/menu/list.html

Не в сети

#2 2008-12-19 03:15:31

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: HTML/JS menu - особенности работы IE/Opera/FF

Проблема решена.
В ближайшее время сделаю на базе этого кода новый генератор меню (в виде плагина).

Не в сети

#3 2008-12-21 11:31:27

sparco
Участник
Откуда Россия
Зарегистрирован: 2008-11-01
Сообщений: 37
Рейтинг :   

Re: HTML/JS menu - особенности работы IE/Opera/FF

http://destroydrop.com/javascripts/tree/

Кроссбраузерный, бесплатный

Не в сети

#4 2008-12-21 11:40:50

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: HTML/JS menu - особенности работы IE/Opera/FF

sparco, а ты отключи JScript'ы и посмотри что будет с этим меню (подсказка - ничего не будет, меню вообще не появится).

По условиям задачи меню должно отображаться даже в случае отключения JScript'ов, поэтому оно должно отрисовываться через HTML. И DTree тут не подходит (хотя он мне тоже нравится).

Не в сети

#5 2009-01-04 19:20:32

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

vitaly, очень интересно, как решил проблему? Или выложи в SVN покурить...


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#6 2009-01-05 01:14:09

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

vitaly, я заменил span на img, добавил две строки в скрипт, теперь работает везде...


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#7 2009-02-04 15:58:52

hot
Участник
Откуда Россия
Зарегистрирован: 2008-10-26
Сообщений: 173

Re: HTML/JS menu - особенности работы IE/Opera/FF

Amarelius пишет:

vitaly, я заменил span на img, добавил две строки в скрипт, теперь работает везде...

Какие строчки ? Поподробнее, plz...

Не в сети

#8 2009-02-04 18:36:08

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

Вот, что у меня вышло
http://www.iem.arnit.com.ua/download/tree.rar
Вся проблема в том, что IE не обрабатывает OnClick, по пустому элементу, коим в данном примере
был span, даже если ты в стилях пропишешь фон, элемент, по их мнению, должен содержать хоть что-то.
Поэтому я явно вставил картинку и обрабатываю OnClick по ней.
Немного причесать и можно использовать на сайте smile

p.s.: В Opera не проверял. IE6, IE7 - все ok. FF - само собой, там всегда все ok.

Изменено Amarelius (2009-02-04 20:11:04)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#9 2009-02-05 01:40:28

hot
Участник
Откуда Россия
Зарегистрирован: 2008-10-26
Сообщений: 173

Re: HTML/JS menu - особенности работы IE/Opera/FF

Amarelius пишет:

Вот, что у меня вышло
http://www.iem.arnit.com.ua/download/tree.rar
Вся проблема в том, что IE не обрабатывает OnClick, по пустому элементу, коим в данном примере
был span, даже если ты в стилях пропишешь фон, элемент, по их мнению, должен содержать хоть что-то.
Поэтому я явно вставил картинку и обрабатываю OnClick по ней.
Немного причесать и можно использовать на сайте smile

p.s.: В Opera не проверял. IE6, IE7 - все ok. FF - само собой, там всегда все ok.

СПАСИБО ! Буду экспериментировать...

Не в сети

#10 2009-02-26 21:08:07

panoptus
Участник
Откуда Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

Как прогресс? очень ждем финальную версию

Не в сети

#11 2009-02-26 22:31:47

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: HTML/JS menu - особенности работы IE/Opera/FF

Ооо... я думал, что никому неинтересно smile

Не в сети

#12 2009-02-27 00:21:51

panoptus
Участник
Откуда Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

vitaly, ага, может кому и не интересно... но у меня если подкатегории не скрывать - листать страницу палец устает smile

Не в сети

#13 2009-03-05 18:20:03

hot
Участник
Откуда Россия
Зарегистрирован: 2008-10-26
Сообщений: 173

Re: HTML/JS menu - особенности работы IE/Opera/FF

А вот как ТАКОЕ реализовать на NG CMS?

Изменено hot (2009-03-05 18:57:41)

Не в сети

#14 2009-03-05 21:01:18

panoptus
Участник
Откуда Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

hot, да, кошерная менюшка... smile

Не в сети

#15 2009-03-09 23:47:32

Eterex
Участник
Зарегистрирован: 2008-10-15
Сообщений: 33
Рейтинг :   

Re: HTML/JS menu - особенности работы IE/Opera/FF

Amarelius пишет:

Вот, что у меня вышло
http://www.iem.arnit.com.ua/download/tree.rar

p.s.: В Opera не проверял. IE6, IE7 - все ok. FF - само собой, там всегда все ok.

В опере работает. С выключенным яваскриптом, основное меню доступно, подпункты - нет. Ну и ладно - так сойдет.

Вопрос в другом - как можно сделать, чтобы запоминался пункт меню, и не приходилось плюсики по новой каждый раз нажимать?

Имеется в виду вот это: smile

vitaly пишет:

...
3. Выделение текущего активного пункта меню
...

Изменено Eterex (2009-03-09 23:56:30)

Не в сети

#16 2009-03-10 00:11:11

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

Eterex, вариантов несколько:
1. В куки писать ID раскрытых и выбранных пунктов меню, а при перегрузке страницы в onLoad для меню считывать куки, раскрывать и выделять необходимые пункты меню (считаю самым правильным вариантом)
2. Можно передавать туже инфу на сервер при помощи XMLHttpRequest и писать в сессии, при перегрузке страницы передавать её браузеру (более заморочистый, но должен работать при отключенных куках)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#17 2009-03-10 00:15:43

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

Eterex пишет:

С выключенным яваскриптом, основное меню доступно, подпункты - нет.

Не проблема, можно легко сделать, чтобы при отключенных скриптах менюшка была полностью раскрыта


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#18 2009-03-10 11:33:23

Eterex
Участник
Зарегистрирован: 2008-10-15
Сообщений: 33
Рейтинг :   

Re: HTML/JS menu - особенности работы IE/Opera/FF

Amarelius пишет:

Eterex, вариантов несколько:
1. В куки писать ID раскрытых и выбранных пунктов меню, а при перегрузке страницы в onLoad для меню считывать куки, раскрывать и выделять необходимые пункты меню (считаю самым правильным вариантом)...

... Не проблема, можно легко сделать, чтобы при отключенных скриптах менюшка была полностью раскрыта...

А что именно и где нужно прописать? roll Спасибо заранее!

Не в сети

#19 2009-03-10 13:02:22

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

Eterex, это надо делать в рамках плагина, ведь присвоение ID для пунктов меню происходит на стороне сервера. Дальнейшая обработка на стороне клиента -- чисто технический вопрос http://www.codenet.ru/webmast/js/Cookies.php


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#20 2009-03-10 13:44:21

Eterex
Участник
Зарегистрирован: 2008-10-15
Сообщений: 33
Рейтинг :   

Re: HTML/JS menu - особенности работы IE/Opera/FF

Amarelius, у меня это меню вынесено вручную, и категориями не является. То есть, ссылки на обычные странички сгруппированы в такую менюшку. Брр... надо учиться излагать мысли яснее, сам не понял чего написал)). В общем, тут можно глянуть alcogu.ru , справа.

Не в сети

#21 2009-03-10 14:57:26

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

Eterex, Я понял, она у тебя статическая. Тогда будет время, прикручу к менюшке куки.


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#22 2009-03-10 22:03:29

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

Eterex, Вот держи http://www.iem.arnit.com.ua/download/tree2.rar
, немного причесал.

Из особенностей:
1. Строка меню не переносится если не помещается в окно
2. При отключенных скриптах, показывает развернутый список
3. При включенных скриптах запоминает раскрытые пользователем пункты меню между сеансами

Обязательно!!! Пунктам меню которые разворачиваются присвоить разные ID (не важно какие, любые)
--------------------------------
Юзай на здоровье smile

Изменено Amarelius (2009-03-10 22:04:07)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#23 2009-03-10 23:44:22

Eterex
Участник
Зарегистрирован: 2008-10-15
Сообщений: 33
Рейтинг :   

Re: HTML/JS menu - особенности работы IE/Opera/FF

О, супер. Все работает!!! Тысяча благодарностей Amarelius!!

P.S. отдельное спасибо за оперативность smile

Изменено Eterex (2009-03-10 23:48:42)

Не в сети

#24 2009-03-11 00:18:15

hot
Участник
Откуда Россия
Зарегистрирован: 2008-10-26
Сообщений: 173

Re: HTML/JS menu - особенности работы IE/Opera/FF

Amarelius пишет:

Eterex, это надо делать в рамках плагина, ведь присвоение ID для пунктов меню происходит на стороне сервера. Дальнейшая обработка на стороне клиента -- чисто технический вопрос http://www.codenet.ru/webmast/js/Cookies.php

Спасибо большое за Ваши знания и умения Amarelius, но ни один "помешанный" на безопасности своего
компьютера никогда не позволит своему компу сторонние "куки"- соответсвено схема не работает...

Не в сети

#25 2009-03-11 00:25:16

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: HTML/JS menu - особенности работы IE/Opera/FF

hot, помешанные хай каждый раз туцкают по меню big_smile big_smile big_smile
Кстати идентификатор сессий тоже в куках хранится...
wikipedia

Имеется и ряд заблуждений о куки. Они главным образом основаны на уверенности людей, что куки являются компьютерными программами. На самом деле, куки — это простые текстовые данные и они не могут выполнять какие-либо действия самостоятельно. В частности, куки не могут быть ни вирусами, ни шпионскими программами.

Изменено Amarelius (2009-03-11 00:32:34)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

Подвал раздела

Работает на FluxBB