логин: 
Другие записи за это число:
2010/01/08_nokia - Нокия, сука...
2010/01/08_nabeg - Устроим-ка тут набег
<< предыдущая заметкаследующая заметка >>
08 января 2010
опять только у меня работает?

Тестируем каменты.

Клянусь, я проверял на Опере и Мозилле!

UPD: Кажется понял, чего дальше. Вопрос к специалистам. Есть процедурка, которая вставляет новый div в блок «parent»:

function mkdiv(parent){
var div = document.createElement('DIV');
parent.insertBefore(div, parent.lastChild);
}

Надо сделать другую, с двумя параметрами, которая вставляла бы новый DIV в блок «parent», но ПОСЛЕ блока «posle»: function mkdiv_posle(parent,posle); Например — вставить в блок 0, но после блока 2:
[0]
    [1][/1]
    [2][/2]
        [new][/new]
    [3][/3]
[/0]

Кто подскажет? По мнемонике чую, что элементарно, но мне эти формулы непонятны. И еще вопрос: это кроссбраузерное, надеюсь?

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
Страницы, которые привлекли мое внимание за последние дни, рекомендую:
2017-11-22 В июне 1982
архив ссылок
Оставить комментарий
Работает!
Правда, немного странно работает. Все уехало в низ страницы.
Это должен быть ответ 3-го уровня
После перезагрузки страницы стало нормально.
Да. там мне кое-что непонятно с DOM-моделью и всякими Child. Надеюсь, мудрые люди объяснят. Мне сейчас главное понять, работает ли этов браузерах. Потому что если работают эти три-четыре процедуры (вставить то, се, закрыть блок, открыть, подкачать) - то все остальное просто пустяки, и будет летать. Но мне уже нравится.
Бля, а в админке-то как стало летать! С минимальной правкой.
Боюсь теперь только одного: переведу на эту штуку основной дневник, так завалят каментами ;)
Почему-то глючит третий уровень - только при обновлении страницы работает.
У меня вроде-бы работает.
Сейчас не завалят. Окно ввода комента закрываеться при обновлении (кто-то добавил комент) и все написанное пропадает.
Чего?! Это как?
Вот вы добавили свой комент, пока я вводил свой. У меня перегрузилась страница и окно ввода закрылось.
Пум-пупум. Тест
0
0
Alex (#4747)
тест
А сейчас?
Пробую...
Комент ответа уезжает вправо после добавления. Где-то в 2 раза больше чем нужно. После перезагрузки страницы - все ок.
Да, факт. Я ему поставил 50 вместо 25. Не пойму пока алгоритм. Надо сперва посмотреть, работает ли вообще в Эксплорерах и прочем говне, а потом можно отладить.

Господи, как оно клево летает, вы бы знали! Когда мне тут мудрые люди раскрыли глаза на команду eval() и стало понятно, что по аяксу можно отправлять не только переменные, а просто активные командные сценарии... Программирование упростилось до нуля. Чуть-чуть подработать точную вставку блоков, и можно вообще делать все, что угодно.
Аякс творит чудеса :)
Поставил бордер точечками. Чтобы видеть куда подстыковываются каменты.
А теперь ответ на первый в том слое.
0
0
LLeo Nokia (#3043)
test
Второй в том же слое
Поздравляю, вы почти изобрели AJAJ ;)
В Опере почему-то не переключается. По идее, скрипт дает комнаду браузеру отмотаться на новый комент - добавляется в строке адреса #7747 - номер. Мозилла честно откручивает страницу вниз к коменту, а Опера почему-то нет.
0
0
Nikolay (#3073)
Известная глюка оперы. Ну не любит она на метки переходить.
А я-то думаю... Уже и windows.location= пробовал, и location.replace() и все прочее. Ну фиг с ней, в общем-то. Не самая большая проблема. Меня больше тревожит, что не работает (как утверждают) форма логина справа. У меня почему-то все работает.
0
0
Nikolay (#3073)
Лучше, наверное, location.hash использовать. Меньше шансов что броузер примется перезагружать всю страницу.
Что перезагружает страницу - это как раз не великая проблема. Пользователя, увы, уже давно приучили, что любое действие на странице невозможно без перезагрузки. Поэтому в этом случае он не удивится. Гораздо хуже, когда пользователь отправил комментарий, страница не перезагрузилась, но и браузер на появившийся комментарий не перепрыгнул. Вот тут у пользователя ступор: написал, а ничего не произошло. Об этом речь.
0
0
Nikolay (#3073)
Ненене, когда страница перезагружается во время набора комментария, и недонабранный комментарий соответственно пропадает, пользователей это всё же удивляет. Очень.
0
0
Nikolay (#3073)
Ну и с распространением AJAXнутых интерфейсов пользователи начинают привыкать, что перезагрузки нужны только для перехода на другие страницы. А для общения с текущей никаких перезагрузок быть не должно.

Советую посмотреть на следующую реализацию: http://friendfeed.com/search?q=friendfeed
0
0
Nikolay (#3073)
> Советую посмотреть

А именно, там реализовано аж много любопытных решений: тут и in-place комментирование/редактирование комментариев, и автодобавление новых данных (подождите секунду-другую, не трогая мышку), при этом когда вы на странице совершаете какие-либо действия (пусть даже просто мышкой шевелите) -- все динамические ажакс-апдейты со стороны сайта временно замирают в ожидании.
А что там смотреть? Нажимаешь на любую кнопку - и вываливается на другую страницу с предложением зарегистрироваться. Тоже мне, говном ньютона... У меня - и то регистрация без перезагрузки страницы работает. Пойдите им меня в пример поставьте, а не наоборот ;)
Во время набора комментария перезагружается страница? А, я понял. Это срабатывает навигация по ctrl+стрелочкам. Ее бы надо отключать на время набора коммента, это несложно, но после. А пока постарайтесь не нажимать стрелочки :)
0
0
Alex (#4747)
tst
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
test
0
0
Leonid Kaganov
test
0
0
LLeo Nokia (#3043)
hhdhdhdhhdd
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
test
0
0
Leonid Kaganov
gggggggg
0
0
Фёдор (#3336)
test
Уровень 1
Уровень 2
Уже уровень 2 выглядел как коммент 1-го уровня. После перезагрузки все ок.
Опять была перезагрузка и коммент пропал. У меня проблема только со вторым уровнем (до перезагрузки). 3-й и дальше без проблем.
Параллельный тест... Отрыл два окна ответа.
0
0
LLeo Nokia (#3043)
iiiiiiiiiiii
А вот сейчас пришла автоматом перезагрузка страницы и меня кинуло на предыдущую заметку.
Кстати такое уже было - думал, сам что-то нажал.
пойду експлорер откопаю.
Експлорер пишет "Error on Page". Line 713 object expected. Кнопка "сенд" не работает.
Блять, начинается...
Какой Эксплорер-то? Версия какая?
7-й, идет в поставке с Вистой
Какое говно... ;(
Я думаю, что для ИЕ, должен быть обходной путь. Но какой не подскажу, к сожалению, - я не спец по аяксу.
С аяксом как раз все шоколадно - он работает. Проблема в нескольких элементарных процедурках, вот они:

1) Создать новый DIV

2) Заполнить его содержимым и позиционировать на экране.

3) Убить DIV с номером id (это у меня особенно глючит).

4) Выполнить код командой eval();

Каждая из этих функций - пара строчек кода. Если удастся их отладить так, чтобы они работали везде, то все остальное не представляет проблемы вообще никакой.
Беани коту! Красотишша-то кака!
0
0
Nikolay (#3073)
В окне логина ввожу цифры, получаю одновременно "факт -- не робот" и "цифры введены неверно" :o/
0
0
Nikolay (#3073)
Кстати, это не был ответ на 887, но был "оставить комментарий" в верху страницы.
Это да. Аццкая загадка, которую я не могу решить. Наверняка какая-то глупость смешная. Не будем пока обращать внимания. Главное один раз ввести цифры правильно - и в базе будет пометка, что не робот. И больше не предложат цифр никогда.
0
0
Nikolay (#3073)
Кстати, а зачем работать с JS на низком уровне? Есть же всякие jQuery, которые мало того, что умеют всё что угодно, так ещё и заведомо кроссбраузерны. Вставлять код после элемента там натурально функция .after()
Я ненавижу jquery. jquery - огромный тяжелый чемодан с говном. Совершенно незачем ходить всюду с чемоданом, если тебе нужны только карандаш и носовой платок.

Я не пользуюсь решениями от дяди, я люблю все делать сам, полностью понимая, что внутри и контролируя это. Соответственно, jquery меня не устраивает по той же причине, по которой не устраивает wordpress и livejournal.
0
0
Nikolay (#3073)
Ну не такой уж и тяжелый. Всего около 20-30 килобайт после ужатия.

Контролировать всё это прекрасно, когда хватает времени и памяти на это самое всё. Когда же не хватает, то тут и рулят фреймворки.
Времени и памяти не хватает изучать чужие фреймфорки ;)
Зря, зря, Леонид. jQuery — это как раз микробиблиотека с теми функциями, которые почему-то забыли добавить в JS. Все, что он умеет, как бы априори нужно, если затеяли динамическую страницу делать — поиск элементов разными способами, модификации дом-дерева и css-свойств. Больше в нем ничего нет, ничего лишнего, поэтому он такой маленький. Главное, что он УЖЕ кроссбраузерный. Вы попробуйте. После голого JS на нем писать одно удовольствие — именно за счет того, что один раз написал и работает сразу везде. Может быть, вы путаете с jQuery UI — тот да, тяжеловат, но речь не о нем ведь.
Микробиблиотека на 100 килобайт? А потом рождаются монстры типа f5.ru. Нет, спасибо. Я как-нибудь без чемоданов.
ну вы ведь делаете то же самое — кроссбраузерные обертки на типовые функции работы с дом-деревом. Чем свое лучше готового, причем промышленного уровня, не очень понятно. 20 кб для клиента не очень много, да и велика вероятность, что в кеше браузера библиотека уже есть. Просто лень разбираться, что ли? Так, имхо, как раз стабильность для пользователя (чтобы работало во всех браузерах) важнее вашей лени.
Вопрос жизненных ориентиров. Я с детства ненавижу любые ТИПОВЫЕ РЕШЕНИЯ, а люблю СОЗДАВАТЬ САМ. Когда я пользуюсь каким-то типовым решением, я чувствую себя лохом из милионной армии лохов. Когда создаю что-то сам - творцом ;) Я вообще-то в юности писал исключительно на ассемблере и брезговал даже C, а вы мне jquery предлагаете... :) Если бы у меня была другая система ценностей, была бы и вся жизнь другая: я бы сидел под Виндоус, вел блоги в ЖЖ, а работал менеджером по продажам в офисе.
Если делать что-то полезное, я бы вас понял, но ловить кайф в том, чтобы фиксить баги из-за различий в реализации JS в разных браузерах — этого я не понимаю.
Я же говорю: надо пофиксить три процедуры из трех строк. Уже пофиксили, в общем-то. И чемодан говна не нужен.
Пофиксили там, где пока нашли проблемы. А о скольких еще браузерах чудных вы не знаете?
0
0
LLeo Nokia (#3043)
О четырех?
Даже в бете десятой оперы мобильной работает
только записался сначала в конец, а после перезагрузки оказался в другом месте
я - не робот
Это победа ;) А логины работают?
1
0
lleo.me/[email protected]Артем Павлов
А вот с логином проблема, там, как я понимаю, авторизация происходит по событию onCange, которое она не обрабатывает. Мож в форму кнопочку "залогиниться" добавить?
А просто enter нажать не помогает? Кнопочка там по сути есть, но я ее скрыл, чтоб не маячила. А кто именно не обрабатывает onchange? Какой браузер? Это ж вроде азы.

PS: Вот у меня проблема - в Нокии вообще внешние окна не распахиваются... :(
0
0
lleo.me/[email protected]Артем Павлов
onChange не работает в мобильной опере, на компе все отлично, а энтер нажать не могу, его на смарте нет :(
Интересные новости. А что там работает? onclick? onsubmit?
0
0
lleo.me/[email protected]Артем Павлов
Блин, я глупость сморозил. Щас посмотрел, как это на компе происходит, и понял, что залогинится с телефона не могу т.к. у него нет кнопки энтер, а на форме нет кликабельной кнопочки "залогиниться"
Напиши, как представляется телефон (строка браузера), и я включу кнопку специально для этого телефона ;)
0
0
lleo.me/[email protected]Артем Павлов
В КДЕшном Конквероре даже залогиниться не смог, говорит, пароль неверный.
0
0
lleo.me/[email protected]Артем Павлов
Шестой осел не отзывается, выдает кучу ошибок вида "предпологается наличие объекта"
Хозяина дневника выделять бы как и раньше.
Это косметические проблемы, они решаются с полпинка.
А еще рамочки потусторонние появились.
Так это я их поставил для отладки, чтобы разобраться, куда новые коменты подстыковываются.
И форма узковата.

Зря вы против jquery настроены. :)
Ой, прошу прощения. Я хотел, как ссылки добавить, а они картинками вставились. :(
Форма вообще будет не такой. Там и панель с кнопочками редактирования будет и еще много чего. Это пока.
А. Понятно.
Кстати, нажал ### и весь комент перекрылся/убрался.
Ну еще бы. Это вообще осколки кнопки старой системы - кнопка, которая должна была по идее когда-то показывать какие-то юзеринфо. Причем, по-моему, только админу. Не обращайте внимания пока что.
Да вроде бы это вводилось с целью устроить браузеросрач :)

Кстати тест
0
0
LLeo Nokia (#3043)
Сука нокия неннавижу
0
0
Леша (#3093)
тест
0
0
Леша (#3093)
Странно. Я ж просто коммент послал. А он подвязался как ответ к чему-то.
0
0
zencd (propir)
Вот реализация желаемой функции:

http://dl.dropbox.com/u/1883230/my/lleo-js.html

Через свойство nextSibling достигается.

(Форма комментария убийственная, конечно, по своей узости.)
Проверим еще раз...
Да, все отлично.
Не считая того, что на моей стороне все слегка через жопу :)
Стыдно сказать, как оно работает...
Огромнейшее спасибо!!! Теперь все работает и комменты подстыковываются куда надо. Спасибо!!!
Еще раз спасибо!!!!!!!!!!!!!!!
И еще раз!!!
Просто не нарадуюсь ;)
0
0
drimmie (#5343)
Ура радоваться радоваться :)
Теперь fingerprint не показывается? :)
Странно, вроде бы хотел в первом уровне запостить, но получилось ответом кому-то.
Заодно хотелось бы пару предложений сделать: во-первых, отправку по Ctrl+enter, во-вторых, после добавления комментария на него фокус передавать. ИМХО, удобнее было бы. :)
Предавать фокус - куда? Но новый DIV комментария? Как это?
Неправильно выразился. Не фокус, конечно, а позицию страницы экране отправлять на свеженаписанный комментарий, а не на предыдущее место.
Вот сейчас по кнопке "ответить" я окажусь на старом месте.
А если отправлять по верхней кнопке "Оставить комментарий", то после добавления комментария его придется искать.
0
1
Leonid Kaganov
Предложите технически как это сделать.
Эмм... Я не знаю, веб-программинг - не совсем мой конек.
Можно ставить якорь и переходить на эту же страницу как http://lleo.aha.ru/blog/2010/01/08.html#метка
top.location.href='1.html';
(можно self.location.href).
Это самое топорное решение, но оно гарантированно будет работать во всех браузерах. Иначе придётся искать DOM для Оперы,IE,Firefox и Chrome в отдельности.
Fingerprint - это как бы характеристика пакетов со сведениями о системе и версии Tcpip. :)
Я имел в виду более широкое толкование - сведения о браузере, ОСи и местоположении.
0
0
Leonid Kaganov
Ну... Whois в новом движке пока не привинчен. Сведения о браузере и IP записываются в самом комментарии - какой смысл их хранить в личной карточке, когда сегодня он такой, а завтра сменился. А что еще нужно?
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
test
0
0
Фёдор (#3336)
??????
0
0
resistor (#3784)
Божемой!
Я не успеваю оставить комментарий!
Как только начинаю писать длинный и осмысленный ответ происходит рефреш и всё пропадает!
Эф-пять не западает!
Вообще, когда пишешь на чистом JS, без JQuery, хорошо достать справочник Javascript. Только не какой-нибудь проходной, а по-настоящему монументальный, в бумажном виде, страниц на 2000, в котором приведена вся (ВСЯ) модель DOM и рассмотрены различия браузеров в её парсинге.
0
0
LLeo Nokia (#3043)
Да я ничего там особого не пишу на JS - не люблю я его. Обхожусь тремя-четырьмя функциями,
При увеличенном в браузере шрифте, окно с вводом комментария съезжает слиьно вправо :(
0
0
Andrey Pozdnyakov
1. под Хромом все пользлватели в инфо отображаются как konstantin-sa

2. в конце страницы тоже нужна кнопоска "оставить комментарий"
0
0
Leonid Kaganov
О чем это?!! Какие пользователи? В каком инфо? На странице только один пользователь - вы. Что именно вы делаете и где видите это? Расскажите, поправлю.
0
0
eka (#3576)
Chto-to u menia problemy s twoej graficheskoj kartoj.
Postawil druguju - PCI - i zarabotalo.
A tak - chernyj ekran.
W sledujushie wyhodnye poigrajus' eshe. :o)
0
0
eka (#3576)
A pochemu predidushij moj komment ne w 1 urowne?
0
0
Leonid Kaganov
Без понятия...
0
0
LLeo Nokia (#3043)
Как? Там все работало!!! Не надо ничего трогать!!!
0
0
Andrey Pozdnyakov
test
А куда комменты со всех страниц попрятались?
Ой. "http://i48.tinypic.com/10ckl8h.jpg" и кнопка "ответить" там не работала.
0
0
LLeo Nokia (#3043)
ну, видимо, я что-то чинил. -дело житейское
insrtAfter?

по openid-у не пущает :(
insertAfter?

по openid-у не пущает :(
Извиняюсь за возможный повтор, но мне никаких комметнариев к заметке не видно :-(
var parent=posle.parentNode;
var next=posle.nextSibling;
if(next){parent.insertBefore(newDiv,next);
}else{
parent.appendChild(newDiv);
};
0
0
LLeo Nokia (#3043)
Вроде так сейчас и сделано, разве нет? Гляньте в код - там штуки 4 короткие функции.

всего комментариев: 154

<< предыдущая заметка следующая заметка >>