Re[5]: jQuery – Javascript нового поколения
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.07.07 13:24
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Полный XPath поддерживать сложно, потому что все это — эмуляция, так как браузеры не обеспечивают нативную поддержку ни XPath ни CSS selectors


Это не совсем так: http://developer.mozilla.org/en/docs/DOM:document.evaluate

А ты не знаешь, как организована поддержка XPath в jQuery? Она эмулируется для всех браузеров, или всё таки используется нативная реализация там, где это возможно?
Re[6]: jQuery – Javascript нового поколения
От: Mamut Швеция http://dmitriid.com
Дата: 26.07.07 15:04
Оценка:
A>Это не совсем так: http://developer.mozilla.org/en/docs/DOM:document.evaluate

A>А ты не знаешь, как организована поддержка XPath в jQuery? Она эмулируется для всех браузеров, или всё таки используется нативная реализация там, где это возможно?


Эмулирует: http://jqueryjs.googlecode.com/svn/trunk/jquery/src/selector/selector.js
Надо будет им подсказать


dmitriid.comGitHubLinkedIn
Re[6]: jQuery – Javascript нового поколения
От: Аноним  
Дата: 26.07.07 17:37
Оценка:
Здравствуйте, ionicman, Вы писали:

M>>
M>>$("#myid > div")
M>>$(".articles div:nth(odd)")
M>>

I>Согласен, частенько бывает.
M>>и т.п.

M>>Полный XPath поддерживать сложно, потому что все это — эмуляция, так как браузеры не обеспечивают нативную поддержку ни XPath ни CSS selectors


I>есть полная реализация на js XPath 1.0 100k


Можешь дать ссылку? Я как раз ищу реализацию стандартного XPath, которая будет работать в IE, Opera. (в Firefox она и так уже есть)
Re[4]: jQuery – Javascript нового поколения
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.07.07 02:44
Оценка:
Здравствуйте, ionicman, Вы писали:


I>Для простых случаев достаточно легко, для более сложных делается цепочка регспов, и при работе они в нужной последовательности перещелкиваются.

I>НЕ, я просто в шоке, человек использующий jQuery видимо даже ни разу в листинг ее не лазил — не ужто не интересно было?
I>Там кстати так и сделано. для быстроты правда коечто выкинуто из рекспов и реализовано через методы string, но суть таже.

S>>собрался доступ к элементу получать? Ну вот покажи мне, как на регекспах спрятать (display=none) все P c классом content.

I>Кстати очень тупой вариант могу предложить — бежать тупо вперед по DOM, брать каждый объект-примитив — когда все в строчку засовывается и пробегать тупо аля /.*tagName='P'.*className='content'.*/ для примера вполне сгодится.
Ты примерчик-то напиши. А то языком молоть все горазды.
I>тока надо глянуть что впереди в примитиве идет tagName или className
О да. а также глянуть нащот наличия вложенных тегов и прочей ерунды.
За то время, как ты этот аналог на регекспах пишешь, я тебе весь сайт на jQuery сваяю

I>За ответом что это есть походи по сайтам любых контор сайто девелопперских. Там разжовано 300 раз.

О, спасибо великий гуру. Я, вишь ли, эти сайты не читаю. Я их пишу.

I>напишу сам достаточно быстро либо же воспользуюсь готовым паттерном, скаченным из библиотеки

Паттерном чего?

I>ээээ.....

I>"обычно у программистов уже есть свой оверлей со всеми стандартными функциями" типо выше написано было


S>>А что, уже все фреймворки написаны?

I>Ну их достаточно на самом деле. Если уж ты так офигенно любишь fw — юзай Ruby-on-rails. Че, неужели плохой? :D
При чем тут RoR? Ты точно серверную сторону с клиентской не путаешь?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 03:07
Оценка:
А>Можешь дать ссылку? Я как раз ищу реализацию стандартного XPath, которая будет работать в IE, Opera. (в Firefox она и так уже есть)

Да есть в принципе много вариантов, ну например http://mcc.id.au/xpathjs/
Re[7]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 03:09
Оценка:
M>Эмулирует: http://jqueryjs.googlecode.com/svn/trunk/jquery/src/selector/selector.js
M>Надо будет им подсказать
К сожелению, evaluate более менее держит только опера и ff и то с небольшими глюками.... IE держит лишь маааленький кусочек — можно сказать там этого нет
Re[5]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 03:14
Оценка: -2
S>О да. а также глянуть нащот наличия вложенных тегов и прочей ерунды.
Если ты не в состоянии в голове это вооброзить — херовый то программер однако Задачу то помнишь?
типа надо найти элемент у которого есть два св-ва определенных tagname & classname, там похер на вложенные теги — приметив возвращает текстовые св-ва ОДНОГО DOM объекта — смысл лишь рекспом проверить присутствие у него этих двух св-в — если они есть — значит объект НАШ. Все. программер блин ) подика на дельфи программишь? :D

I>>За ответом что это есть походи по сайтам любых контор сайто девелопперских. Там разжовано 300 раз.

S>О, спасибо великий гуру. Я, вишь ли, эти сайты не читаю. Я их пишу.
Ога, оно и видно, бугага, писатель ))

I>>напишу сам достаточно быстро либо же воспользуюсь готовым паттерном, скаченным из библиотеки

S>Паттерном чего?
Эээ... мож тебе еще и все термины разжовывать,а? Может обучение провести? на вики посмотри code pattern че такое. не ну полный писец

S>При чем тут RoR? Ты точно серверную сторону с клиентской не путаешь?

У RoR отличный фрейворк написан КАК серверный ТАК и клиентский.
Re[7]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 03:21
Оценка:
А вот такое интересное дело — когда глядел jQuery — они там создают при вызове екземпляры — оно и понятно — надо же както в chain передавать данные. Так вот вопрос меня мучит — создание екземпляра каждый раз — ни есть хорошо — я согласен что особых ограничений на это нет, но всеже прикольно было бы обойтись статикой.

Так вот вопрос собсно — можно ли? chain на статике организвать вполне можно, осатлось выяснить можно ли каким либо оброзом при вызове n+1 фии передать ей хотя бы один параметр из n? я чето поковырялся и ниче таолкового не придумал :D

Но если так сделать — то скорость работы библиотеки должна подняться на %15-30 а утечка памяти в старом добром IE и FF сократится в разы — не будет он толстеть — т.к. статика — екземпляры не создаются. Есть идеи?
Re[6]: jQuery – Javascript нового поколения
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.07.07 03:49
Оценка:
Здравствуйте, ionicman, Вы писали:

S>>О да. а также глянуть нащот наличия вложенных тегов и прочей ерунды.

I>Если ты не в состоянии в голове это вооброзить — херовый то программер однако Задачу то помнишь?
Я помню.
I>типа надо найти элемент у которого есть два св-ва определенных tagname & classname, там похер на вложенные теги — приметив возвращает текстовые св-ва ОДНОГО DOM объекта — смысл лишь рекспом проверить присутствие у него этих двух св-в — если они есть — значит объект НАШ. Все.
о, круто. То есть пишем полный перебор дом-дерева всякий раз руками. Ты код-то напиши, не стесняйся. Пальцы гнуть все горазды.
I>программер блин ) подика на дельфи программишь? :D
Раньше программил. А теперь все больше веб приложения.

I>>>напишу сам достаточно быстро либо же воспользуюсь готовым паттерном, скаченным из библиотеки

S>>Паттерном чего?
I>Эээ... мож тебе еще и все термины разжовывать,а? Может обучение провести? на вики посмотри code pattern че такое. не ну полный писец
Да я обучение-то и сам могу провести.
S>>При чем тут RoR? Ты точно серверную сторону с клиентской не путаешь?
I>У RoR отличный фрейворк написан КАК серверный ТАК и клиентский.
А как это Руби на клиенте оказался? На клиенте, окромя JS, ничего интересного не поддерживается.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: jQuery – Javascript нового поколения
От: anonymous Россия http://denis.ibaev.name/
Дата: 27.07.07 04:47
Оценка:
Здравствуйте, ionicman, Вы писали:

M>>Эмулирует: http://jqueryjs.googlecode.com/svn/trunk/jquery/src/selector/selector.js

M>>Надо будет им подсказать
I>К сожелению, evaluate более менее держит только опера и ff и то с небольшими глюками.... IE держит лишь маааленький кусочек — можно сказать там этого нет

В любом случае его использование там, где это возможно, может дать значительный прирост скорости.
Re[7]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 05:40
Оценка: -1 :)
Какой сложный перец, а? Исходник то в голове представить ну никак. Ну на 3 минуты ушло:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>

<div><div><div class="ext">asasd</div></div></div>
<div class="ext"></div>

<script language="javascript">
    function TreeGo( o, func ) {
        while ( o != null ) {
            func( o );
            if ( o.firstChild != null ) TreeGo( o.firstChild, func );
            o = o.nextSibling;
        }
    }

    TreeGo(
        document.body, 
        function( o ) {
            o.toString;
        }
    );

    function getPrimitive( o ) {
        var t = "";
        for ( var i in o ) i != "innerHTML" && i != "outerHTML" && ( ""+o[i] ).indexOf("function") < 0 ? t += i + "=" + o[i] + "," : "";
        return t;
    }

    var arr = [];
    TreeGo( 
        document.body,
        function( o ) {
            if ( /(classname *?= *?ext.*?tagname *?= *?div)|(tagname *?= *?div.*classname *?= *?ext)/i.test( getPrimitive( o ) ) ) arr.push( o );
        }
    );


    for ( i = 0; i < arr.length; i++ ) alert( arr[i].tagName + " " + arr[i].className );
</script>


</body>
</html>


getPrimitive платформо — зависимая, поэтому для нее затычка, если хошь получить список примитива быстро какпай либо мелкомягких либо Gecko тама написано все.

рекспами разгребается всё кстати, прикинь, неверующий :D

I>>программер блин ) подика на дельфи программишь? :D

S>Раньше программил. А теперь все больше веб приложения.
Оно и видно

S>Да я обучение-то и сам могу провести.

ага, я понял уже :D

S>>>При чем тут RoR? Ты точно серверную сторону с клиентской не путаешь?

I>>У RoR отличный фрейворк написан КАК серверный ТАК и клиентский.
S>А как это Руби на клиенте оказался? На клиенте, окромя JS, ничего интересного не поддерживается.
А rails это ЧО? А на чем наваяна клиентская часть? :D


Короче, иди учи матчасть — с тобой говорить что против ветра.
Re[9]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 05:42
Оценка:
согласен
Re[8]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 05:45
Оценка:
а, да — первый вызов TreeGo — это от отладки осталось — можно убить — все равно не работает ))
Re[8]: jQuery – Javascript нового поколения
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.07.07 06:22
Оценка: 12 (1) +2
Здравствуйте, ionicman, Вы писали:

I>Какой сложный перец, а? Исходник то в голове представить ну никак. Ну на 3 минуты ушло:

Ай малацца. Ну, не все условия задачи запомнил, но это не страшно.
I>рекспами разгребается всё кстати, прикинь, неверующий :D
Обожаю общаться с людьми, которые думают, что я ламер.
А теперь протести свой говнокод на вот таком контенте:
<div><div><div class="myclass ext">asasd</div></div></div>
<div class="ext"></div>
<div class="extile"></div>

S>>Да я обучение-то и сам могу провести.
I>Короче, иди учи матчасть — с тобой говорить что против ветра.
Ну что, знаток матчасти, попробуешь свой код поправить?
В принципе, можешь не трудиться.

Я думаю, всем заинтересованным и так видно, что написать 1 (одну) строчку jQuery, которая будет еще и делать именно то что надо, гораздо быстрее, чем отладить regex-based ужос, который ты пропагандируешь.

Вот, на всякий случай, полное решение исходной задачи:
$('p.content').hide();

Кроме того, в отличие от твоего кода этот можно читать. А ты через неделю и не вспомнишь, что именно у тебя в этих TreeGo делается. Тем более этого не поймет другой программист.
Небольшое усложнение или изменение исходной задачи — и ты снова день потратишь на отладку. А в jQuery можно за тридцать секунд справиться.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: jQuery – Javascript нового поколения
От: Mamut Швеция http://dmitriid.com
Дата: 27.07.07 07:01
Оценка:
I>А вот такое интересное дело — когда глядел jQuery — они там создают при вызове екземпляры — оно и понятно — надо же както в chain передавать данные. Так вот вопрос меня мучит — создание екземпляра каждый раз — ни есть хорошо — я согласен что особых ограничений на это нет, но всеже прикольно было бы обойтись статикой.

I>Так вот вопрос собсно — можно ли? chain на статике организвать вполне можно, осатлось выяснить можно ли каким либо оброзом при вызове n+1 фии передать ей хотя бы один параметр из n? я чето поковырялся и ниче таолкового не придумал :D


I>Но если так сделать — то скорость работы библиотеки должна подняться на %15-30 а утечка памяти в старом добром IE и FF сократится в разы — не будет он толстеть — т.к. статика — екземпляры не создаются. Есть идеи?


Это ты все об чем? Я что-то не понял


dmitriid.comGitHubLinkedIn
Re[9]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 07:33
Оценка:
M>Это ты все об чем? Я что-то не понял

В смысле chain вызовы организовать на static классах, так как щас при каждом обращении к $ динамически создается объект jQuery.
Это я в смысле о том как можно jQuery оптимизировать :D
Re[9]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 07:42
Оценка: +1 -3
S>Обожаю общаться с людьми, которые думают, что я ламер.
S>А теперь протести свой говнокод на вот таком контенте:
S>
S><div><div><div class="myclass ext">asasd</div></div></div>
S><div class="ext"></div>
S><div class="extile"></div>
S>


Вот ты приколист однако. А может те сразу сайт написать — я те сделал пример, чтобы показать что ты нихрена в рекспах не разбираешься. Добавить и хайд и все остально 5 сек — не более. Обойти данную ситуацию — это добавить всего ОДИН символ в regexp. Угадай какой? правильно — делиметр.
S>Ну что, знаток матчасти, попробуешь свой код поправить?
см, выше. Опять доказываешь что ты ламер.


S>Я думаю, всем заинтересованным и так видно, что написать 1 (одну) строчку jQuery, которая будет еще и делать именно то что надо, гораздо быстрее, чем отладить regex-based ужос, который ты пропагандируешь.


По моему спор не про это был, а про возможности регспа. Письмо свеже первое погляди, умник.

S>Кроме того, в отличие от твоего кода этот можно читать. А ты через неделю и не вспомнишь, что именно у тебя в этих TreeGo делается. Тем более этого не поймет другой программист.


Хехе... вот по этому ты и хреновый программер. во первых все делается но ООП, и если грамотно — то при малом числе функций в коде гораздо проще разобраться, нежели учить синтаксис фреймворка, isn't it? Другое дело — если при плохом код-дизайне функции и их количство разрастается до невообразимого — тогда да.

S>Небольшое усложнение или изменение исходной задачи — и ты снова день потратишь на отладку. А в jQuery можно за тридцать секунд справиться.

Я те по секрету расскажу: если мне надо чтото скрывать или показывать часто — то 90% это контрол а не контент — контейнер. А если же это контент — контейнер — то на его собачатся id, и делается потом getElementById — и все.

А вот внутри контрола если надо хитро бегать — там да, может пригодится jQuery — ибо с помощью нее это сделать быстрее, но работать будет медленнее если контрол шибко большой или шибко динамический.

А если ты в случае простых страничек с 2-3 контент контейнерами бужешь jQuery юзать — то это примерно тоже самое что в ларек за пивом на ракете лететь, умник.
Re[10]: jQuery – Javascript нового поколения
От: Mamut Швеция http://dmitriid.com
Дата: 27.07.07 07:51
Оценка:
M>>Это ты все об чем? Я что-то не понял

I>В смысле chain вызовы организовать на static классах, так как щас при каждом обращении к $ динамически создается объект jQuery.

I>Это я в смысле о том как можно jQuery оптимизировать :D

Какие такие static классы в JS?

В jQuery динамиически создаются объекты jQuery, потому что единственная альтернатива — расширять DOM, что не есть хорошо.


dmitriid.comGitHubLinkedIn
Re[10]: jQuery – Javascript нового поколения
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.07.07 08:00
Оценка:
Здравствуйте, ionicman, Вы писали:
I>Вот ты приколист однако. А может те сразу сайт написать — я те сделал пример, чтобы показать что ты нихрена в рекспах не разбираешься.
Ну, ради такого не стоило стараться. Вот если бы ты что умное показал...
I>По моему спор не про это был, а про возможности регспа. Письмо свеже первое погляди, умник.
Нет. Я поясню, специально для ограниченных: я не утверждал, что воспроизвести XPath/CSS selector на регекспах нельзя.
Я утверждал, что заколебешься ты это воспроизводить. И ты образцово-показательно заколебался. ЧиТД.

З.Ы. одим символом ты проблему не решишь

S>>Кроме того, в отличие от твоего кода этот можно читать. А ты через неделю и не вспомнишь, что именно у тебя в этих TreeGo делается. Тем более этого не поймет другой программист.


I>Хехе... вот по этому ты и хреновый программер.

Да куда уж мне, сирому. Вот ионикман, который в одном регекспе три ошибки допустил — тот крут. Не хотел бы я такого в своем отделе иметь — как же ты более сложную задачку решить сможешь?
I>во первых все делается но ООП, и если грамотно — то при малом числе функций в коде гораздо проще разобраться, нежели учить синтаксис фреймворка, isn't it?
Это какой-то пеарный булшит пошел. Вот я тебе дал пример задачи, на которой jQuery полезен — ты же этого просил? Я тебя никак не ограничивал ни ООП, ни функции писать не заставлял.
А почти весь jQuery — это функция $(). Куда как проще с ней один раз разобраться, чем в твоих TreeGo ковыряться, кои на каждой страничке уникальны.
Ты там еще и массив глобальный завел — вообще кросавчег Вот уж где разгул безудержного ООП.

I>Другое дело — если при плохом код-дизайне функции и их количство разрастается до невообразимого — тогда да.

Ну, ты вот только что пример плохого дизайна привел. Приведи пример хорошего.

I>Я те по секрету расскажу: если мне надо чтото скрывать или показывать часто — то 90% это контрол а не контент — контейнер.

Да наздоровье. Я этих контролов видел в ассортименте. Большинство генерят совершенно чудовищный клиентский код. Который еще и работает медленно.
I> А если же это контент — контейнер — то на его собачатся id, и делается потом getElementById — и все.
Я в курсе про getElementById. Даже он, кстати, записывается в jQuery куда как компактнее. Впрочем, чего это я? Не нравится — не ешь.
Если ты предпочитаешь вручную педалить страницы кода вокруг простых задач, или брать готовый контрол (ты, кстати, не с Delphi начинал?), который сгенерит весь этот булшит автоматичкески — велком в лагерь неудачников.

I>А вот внутри контрола если надо хитро бегать — там да, может пригодится jQuery — ибо с помощью нее это сделать быстрее, но работать будет медленнее если контрол шибко большой или шибко динамический.


I>А если ты в случае простых страничек с 2-3 контент контейнерами бужешь jQuery юзать — то это примерно тоже самое что в ларек за пивом на ракете лететь, умник.

А, ну да. Я вообще в веб программировании мало понимаю, так, погулять вышел. Ты ссылку на образцы своего творчества не дашь? Чтобы я мог припасть, так сказать, к истокам мудрости.

Правда пока от тебя кроме пальцев ниче не видать. Где она, мудрость-то?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: jQuery – Javascript нового поколения
От: ionicman  
Дата: 27.07.07 08:05
Оценка: -1
Хорошо пальцы гнешь — мне нравится )

Я те так отвечу:
почитай webmascon.com / xpoint.ru / xhtml.ru
Потом перевари это все, наберись опыта — и поболтаем )

Менеджер из тебя хороший бы получился — гонора много :D
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.