Кому нужен работающий пример дерева с подгрузкой по запросу?
От: Дм.Григорьев  
Дата: 13.11.04 18:20
Оценка: 109 (6)
Всем привет!

Сабж лежит здесь. В корне архива лежит ну очень гибкий скрипт автоподгрузки, с огромным количеством отладочного кода (вызовов this.debug(msg,severity), которые можно спокойно удалить) и комментариев (их кстати тоже можно удалить ). И три подкаталога:

1main. Тестирование упомянутого скрипта (в странице прошито два запроса, на которых я игрался, обрабатывая случаи одновременного запроса).

2tree-bad. Реализация дерева, опирается на CSS в точности как в приведенном anonymous здесь
Автор: anonymous
Дата: 11.11.04
примере кода (за что ему еще раз спасибо). В этой реализации картинки слева показываются как background-image элементов span.

3tree. Реализация дерева, где span заменен на img, потому что FireFox не применяет CSS к подгружаемым через innerHTML span. (Попутно вспомнил ранее просмотренный HTML-код списка форумов и невольно подумал — это еще одно подтверждение того, что авторы движка RSDN уже прошли через всю эту дребедень.) В итоге третий пример несколько путаный... но у меня уже голова не варит, чтобы причесать все это дело, удалив избыточность кода и приведя к нормальному автомату состояний.

Все протестировано (худо-бедно ручками) на IE5.5/98, IE6/XP, Mozilla1.6, Firefox0.10.1, Opera7.23. Комментарии, предложения, bug reports?
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re: P.S. В коде использован PHP; работающий пример online:
От: Дм.Григорьев  
Дата: 13.11.04 18:34
Оценка: 4 (1)
Сабж:

http://bsea.ru/dimon/rsdn/testloader/1main/
http://bsea.ru/dimon/rsdn/testloader/2tree-bad/
http://bsea.ru/dimon/rsdn/testloader/3tree/
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re: Кому нужен работающий пример дерева с подгрузкой по запр
От: Fed Россия  
Дата: 15.11.04 10:50
Оценка:
Здравствуйте, Дм.Григорьев, Вы писали:

ДГ>Все протестировано (худо-бедно ручками) на IE5.5/98, IE6/XP, Mozilla1.6, Firefox0.10.1, Opera7.23. Комментарии, предложения, bug reports?


2 года назад пиcал подное жt дерево, rjnjhjt работает также на:

IE5.5/98, IE6/XP, Mozilla1.1, Firefox0.10.1, Opera7.00, Konqueror 3.3

Лежит здесь:

http://www.aurigma.com/download/deeptree.zip
Спасибо,
Фёдор Скворцов.
Re: Кому нужен работающий пример дерева с подгрузкой по запр
От: Дм.Григорьев  
Дата: 25.11.04 16:12
Оценка: +1
ДГ>Все протестировано (худо-бедно ручками) на IE5.5/98, IE6/XP, Mozilla1.6, Firefox0.10.1, Opera7.23. Комментарии, предложения, bug reports?

Найден подводный камень: Opera не грузит содержимое скрытых iframe (у которых display:none). Похожее обсуждалось в ветке Re: Убрать счетчики!!!
Автор: Ужасть бухгалтера
Дата: 21.11.04
. Сейчас буду пробовать под оперой делать фреймы видимыми, размером в 1px.

P.S. Риторический вопрос: ну и кто после этого будет спорить с тем, что Опера — г? Кому нужны такие усовершенствования, если от них сплошь и рядом — один геморрой.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[2]: Кому нужен работающий пример дерева с подгрузкой по з
От: anonymous Россия http://denis.ibaev.name/
Дата: 25.11.04 18:11
Оценка:
Здравствуйте, Дм.Григорьев, Вы писали:

ДГ>>Все протестировано (худо-бедно ручками) на IE5.5/98, IE6/XP, Mozilla1.6, Firefox0.10.1, Opera7.23. Комментарии, предложения, bug reports?


ДГ>Найден подводный камень: Opera не грузит содержимое скрытых iframe (у которых display:none). Похожее обсуждалось в ветке Re: Убрать счетчики!!!
Автор: Ужасть бухгалтера
Дата: 21.11.04
. Сейчас буду пробовать под оперой делать фреймы видимыми, размером в 1px.


ДГ>P.S. Риторический вопрос: ну и кто после этого будет спорить с тем, что Опера — г? Кому нужны такие усовершенствования, если от них сплошь и рядом — один геморрой.


а если использовать XMLHTTPRequest?... вроде уже все современные браузеры поддерживают... и даже Opera...
Re[3]: Кому нужен работающий пример дерева с подгрузкой по з
От: Дм.Григорьев  
Дата: 25.11.04 19:36
Оценка:
Здравствуйте, anonymous, Вы писали:

A>а если использовать XMLHTTPRequest?... вроде уже все современные браузеры поддерживают... и даже Opera...


Я пару месяцев назад смотрел поверхностно в online-хелпах насчет запуска XSLT на клиенте. IE и Mozilla делают это по-разному, про Opera вообще ничего не нашел (Opera7 не понимает даже <?xml-stylesheet>). Мне подумалось — а забью-ка я до лучших времен. Конечно, отсутствие XSLT не исключает наличия XMLHTTPRequest, но в данном случае однопиксельный iframe проще и "кроссбраузерней".
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[4]: Кому нужен работающий пример дерева с подгрузкой по з
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.11.04 07:28
Оценка: 12 (1)
Здравствуйте, Дм.Григорьев, Вы писали:

A>>а если использовать XMLHTTPRequest?... вроде уже все современные браузеры поддерживают... и даже Opera...

ДГ>Я пару месяцев назад смотрел поверхностно в online-хелпах насчет запуска XSLT на клиенте. IE и Mozilla делают это по-разному, про Opera вообще ничего не нашел (Opera7 не понимает даже <?xml-stylesheet>). Мне подумалось — а забью-ка я до лучших времен. Конечно, отсутствие XSLT не исключает наличия XMLHTTPRequest, но в данном случае однопиксельный iframe проще и "кроссбраузерней".

вообще то за ним будущее, вроде бы Gmail его использует...

XMLHttpRequest is a native JavaScript object allowing further HTTP requests to be made from a page which has already loaded. It allows “micro requests” to be made in response to user events in a web page, rather than requiring a complete page reload, making it possible to implement some notion of a rich client user interface, similar to desktop applications.

The API provided allows a fairly fine grained level of control over HTTP requests, allowing any request header to be set and exposes all response headers.

The original implementation came from Microsoft as an ActiveX object for IE. Mozilla followed suit and implemented XMLHttpRequest with an (almost) identical API. Konqueror (and Safari, based also on KHTML) also has an XMLHttpRequest implementation and support should be coming in Opera from v7.6x+.


http://jpspan.sourceforge.net/wiki/doku.php?id=javascript:xmlhttprequest
Re[2]: Кому нужен работающий пример дерева с подгрузкой по з
От: Сэма Россия  
Дата: 26.11.04 07:46
Оценка: 13 (2)
Здравствуйте, Дм.Григорьев, Вы писали:

ДГ>Найден подводный камень: Opera не грузит содержимое скрытых iframe (у которых display:none). Похожее обсуждалось в ветке Re: Убрать счетчики!!!
Автор: Ужасть бухгалтера
Дата: 21.11.04
. Сейчас буду пробовать под оперой делать фреймы видимыми, размером в 1px.


А зачем "display:none"?
Я делаю "position:absolute; left:-1500px; top:0px;"
И не видно, и работает.
Re[4]: Кому нужен работающий пример дерева с подгрузкой по з
От: Ужасть бухгалтера  
Дата: 27.11.04 17:16
Оценка:
ДГ>Opera7 не понимает даже <?xml-stylesheet>

Понимает, понимает. Правда, стилевые таблицы Опера поддерживает только в формате CSS. Вот пример применения CSS-таблицы для отображения XML-файла: 'http://operarulit.narod.ru/'.
Re[5]: Кому нужен работающий пример дерева с подгрузкой по з
От: Дм.Григорьев  
Дата: 27.11.04 18:28
Оценка:
Здравствуйте, Ужасть бухгалтера, Вы писали:

ДГ>Opera7 не понимает даже <?xml-stylesheet>

УБ>Понимает, понимает. Правда, стилевые таблицы Опера поддерживает только в формате CSS.

Я про Фому, ты про Ерему. Я ж русским языком написал — клиентский XSLT.

Кстати, в IE при загрузке XML-файла с ассоциированным XSL, генерирующим HTML на клиенте, есть интересный глюк (глюков там много, но запомнился только этот — интересный ): слетают базы у относительных ссылок. Подробностей не помню, и среди моих "экспериментов" не сохранилось, но если значение атрибута href у элементов <a> — относительный путь, он будет браться кажется не от текущего пути, а от корня домена.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.