логин: 
<< предыдущая заметкаследующая заметка >>
10 февраля 2011
про разные разности

Отвалился логин в ЖЖ. Ненавижу пидарасов, которые «для удобства» каждые две недели сбрасывают твою авторизацию. Охуенно удобно. Пошел логиниться — не логинится. Что за херня?

Оказалось, после переезда в движок заглавной страницы моего сайта в движке не нашлось средств, которые бы устанавливали нужные тэги перед <head> — в частности строки делегации openid. А в body сервисы уже их не видят. Ну отлично, сделал модуль HEADD — добавить в head любое. link, meta, rel — не важно. Просто вписываешь нужную без закрывающих скобочек, и движок ее ставит перед <head>

Openid снова заработал, залогинился в ЖЖ как... lleo.aha.ru/index.htm Что за фигня? Оказалось, древний глюк движка — на титул сайта нельзя зайти: при установленной в конфиге переменной $rootpage='index.htm' при запросе http://lleo.aha.ru движок перекидывал браузер, соответственно, на http://lleo.aha.ru/index.htm На хрена редирект, почему тихо не открыть? Поправил. Теперь все нормально.

Ну и, кроме того, покопался с подопечным сайтом и оказалось, что ненавистный prototype.js не просто срет в массивы (это я уже пофиксил). Нет, он срет вообще в любые объекты страницы! И даже при создании элементов DOM срет туда тоже! Эти старые пердуны-программеры уверены, что жизнь страницы заканчивается после загрузки. А что страница может продолжать жить своей жизнью, что на ней могут меняться элементы, распахиваться окна, подгружаться информация по запросу — это кретинам невдомек. Как именно срет prototype.js в DOM — я не уточнял, просто открыл сорцы страницы с открытыми окошечками и ужаснулся. И внял советам Николая Лещева: заменил на сайте заказчика lightbox на Slimbox2 — полный аналог, такое же громоздкое фотоговно на любителей попердеть анимированными окошечками, только сделан компактно на jQuery. Ну, конечно не компактнее, чем мой штатный фотоальбом в движке, но что уж поделать: если кому-то нужно распахивать фотку не быстро, а с тормозами и длительным пердежом, то наверно Slimbox2 — действительно лучший вариант. Он заработал прекрасно, но пришлось его чуть подправить для мелочей — ну, чтобы работал с измененным title на tiptitle и чтобы во время работы давал движку сигнал, как будто открыто окно движка (при этом блокируются навигационные шорткеи движка). Кому интересно: http://lumestudio.ru/slimbox/slimbox2.js

К чему я это говорю? Официально заявляю: в моем движке не поддерживается и не будет поддерживаться никакое говно, основанное на prototype.js Потому что уродам не место. Надо немного башкой думать о том, что твой фреймворк, возможно, будут использовать в более масштабных системах, чем тебе снилось, и потому нехрен срать веером в чужое. Это — ссученность и эгоцентризм, думать, будто ты самый умный, и кроме тебя никаких фреймворков в мире нет. Вот jQuery не срет. Я его, конечно, терпеть не могу и использовать не буду, потому что нахуй он мне не нужен — у меня все необходимое есть в движке. Но когда-то я специально не стал занимать для своих задач переменную $ — именно чтобы облегчить жизнь кому-нибудь другому, кто, возможно, захочет делать сайт на моем движке, но при участии jQuery. Сегодня это пригодилось — без всяких конфликтов заработал jQuery на одном из моих подопечных сайтов, где владельцам понадобилась тормозная перделка.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
Страницы, которые привлекли мое внимание за последние дни, рекомендую:
2017-11-22 В июне 1982
архив ссылок
Оставить комментарий
Windows Firefox
0
0
Леонид, а что сегодня случилось с русской буквой "в"? Она стала в движке делать возврат назад, причем везде, даже в редакторе :)) Я думал, у меня что-то с браузером, но нет - только на страничках движка такое.
Windows Firefox
0
0
Отмена! Только написал комментарий, пошел еще раз проверить, в редакторе перестала. Только на страничках.
Linux Firefox
 Москва
0
0
Какой-то глюк, у меня ничего такого не наблюдается. Да и откуда бы?

Вот зато если нажать Shift+Ctrl+Alt+A (не только у админа, у всех), то начнут появляться скан-коды нажимаемых клавиш. Так, мало ли, вдруг.
Windows Firefox
0
0
lleo.me/[email protected]_36
А у меня русская буква "в" при нажатии срабатывает аналогично F5 :) Firefox 4b11
Linux Firefox
 Москва
0
0
Русская буква В (и латинская D) должны перекидывать на последнюю страницу блога. Если, разумеется, никаких окон на странице посетителем не открыто.
Windows Firefox
0
0
lleo.me/[email protected]Артем Павлов
Чудесато, у меня на главную перекидывает.
Linux Firefox
 Москва
0
0
А у тебя главная прописана в rootpage? Будем чинить со временем.
Nokia-E90 Safari
 Москва
0
0
Leonid Kaganov
про такое не слышал...
Windows Safari Chrome
1
0
alpha-cygnus
В DOM прототип срёт элементарно: он срёт не сами объекты, а в их прототипы. У всех объектов в JS есть то, от чего он "наследует" все свойства, НЕ КОПИРУЯ. Вот в эти вот прототипы прототип.жс и срёт. И то, что после загрузки страницы что-то новое появляется абсолютно не влияет ни на что - ни на потребление памяти, ни на то, что у них свойства новые автоматически появятся.
Nokia-E90 Safari
 Москва
3
0
Leonid Kaganov
Хтонический ужас!
Windows Firefox
0
0
Заголовок заметки располагает, чтобы сюда писать про разные разности.

Только что заметил, что при установке движка в папку, отличную от blog (а тем более в корень), теряются многие служебные изображения. Например, в окне редактирования пропал красный крестик в верхнем правом углу. В шаблонах пропали некоторые изображения. Маленькая иконка перед ссылками - тоже пусто... Подозреваю, что где-то в файлах движка прописаны прямые пути к файлом этих картинок с прописанным "blog"? Сходу не нашел где подправить.
Windows Firefox
0
0
Нашел: в CSS файлах пути к дизайнерским изображениям почти везде прописаны через /blog/ То есть если кто-то ставит в каталог с другим названием - идем в CSS файлы и везде заменяем. blog на ваш каталог.
Linux Firefox
 Москва
1
0
Не надо ничего заменять руками. Надо зайти в /admin и ткнуть в "исправить css".
Windows Firefox
0
0
lleo.me/[email protected]Артем Павлов
Я так понял, что апгрейдовый модуль unic2uni пока ничего не делает, только страницу перезагружает?
Linux Firefox
 Москва
0
0
lleo.me/blo[email protected]
Да, пока ничего ;) Это будущий перевод баз на более оптимальную систему авторизации.
Windows Firefox
0
0
lleo.me/[email protected]Артем Павлов
Бгг! То-то я удивился, в таблице ~3000 записей, а скрипт уже за 100000 ушел и никак не останавливается :)
Linux Firefox
 Москва
1
0
Он пока бесконечный :) И ничего не делает :)
Windows Firefox
0
0
вот оно что! :))
Windows Opera
0
0
Gryzchick (#462716)
Можно было бы и не заботиться о сохранении $, а просто использовать noConflict().
Linux Firefox
 Москва
0
0
Но для этого надо было разбираться - и мне, и тому человеку, который попытается прикрутить рядом, и не факт что этот "НоуКонфликт" будет работать правильно, со всеми приложениями и во всех случаях. Кому это нужно?
Windows Opera
0
0
Gryzchick (#462716)
В основном тем, кто хочет использовать одновременно $ и эту библиотеку. Единственное неправильное поведение здесь возможно в случае, если библиотека будет подключена после собственного определения переменной, а написано о методе в той же документации, где написано о всех прочих методах $-объекта.
Linux Firefox
 Москва
0
0
Можно я не буду об этом задумываться?

Лично мне jQuery не понадобится ни с какой стороны.

А тем, кому вдруг нужен в дизайне страниц чемодан пляшущих перделок - у тех оно работает без конфликтов, как мы убедились.

Вы все мне так долго рассказывали, что фреймфорки помогают экономить время, а теперь тратите его на беседы о том, как можно было бы наверно еще другим способом сделать что-то такое другое, чтобы библиотека, которая нахуй не нужна, стала совместима еще более, чем на те 100%, на которые она оказалась совместима сейчас. Не абсурд?
Windows Firefox
0
0
lleo.me/[email protected]Артем Павлов
Кстати, спросить хотел, а как сделать движок провайдером опенид? Есть штатные средства или что-то самому крутить надо?
Nokia-E90 Safari
0
0
Leonid Kaganov
Есть. На Бинонике привинчу в движок. Но там нюанс - с нормальных компов работает хорошо процедура MyOpenid, а у меня с Нокии не логинится. Поэтому на своем сайте я использую делегацию. Но думаю, могди за 4 года что-то починить.
Windows Firefox
0
0
Кстати, модуль Addthis не работает, дублирует каталог при создании ссылки. Неужели до меня его работу никто не проверил?.. Что в коде модуля поправить?
Windows Firefox
0
0
ну и традиционно понудю: комментарии не приходят в движке никак и нигде. :( Пробовал разные серверы, разные емайл, в разных дневниках. Почта - не приходит.
Linux Firefox
 Москва
0
0
В коде модуля ничего нельзя поправить, потому что код сторонний и грузится с родного СЕРВИСА addthis: http://s7.addthis.com/js/250/addthis_widget.js

Что там вообще может не работать - загадка.

Что за создание ссылки и что за каталог дублирует - тоже загадка. Разве что какие-то особенности при настройке сервера не позволяют вычислить верный URL?

Советую вписать (временно!) перед строкой:

return mper(.....

строку:

dier($conf);

Один раз открыть страницу и прислать то, что она показала.
Windows Firefox
0
0
Gopalru (#409911)
Попробуйте хоть свою эту страничку расшарить в любой сервис. И посмотрите, что за ссылку модуль генерит... Почему-то два раза вставляет /blog/
Linux Firefox
 Москва
0
0
У меня нет другого сервиса. Пусть Тема Павлов пробует - это его модуль ;)
Windows Firefox
0
0
lleo.me/[email protected]Артем Павлов
Нужно в модуле ADDTHIS.php заменить переменную $httphost на $httpsite. У меня все работает потому что движок стоит в корне сервера.
Linux Firefox
 Москва
0
0
Уф... Тогда давайте разбираться. Какой корень сервера? Зачем он? Линк идет на ЗАМЕТКУ, верно? Адрес заметки хранится в $article['Date'], полный адрес заметки получается при вызове процедуры get_link($article['Date']). Тогда код модуля совсем простой:

function ADDTHIS($e) { global $article;
$conf=array_merge(array(
'link'=>get_link($article['Date']),
'title'=>$article['Header'],
'text'=>'Утащить к себе',
'template'=>'<div style="float: right;" class="addthis_toolbox addthis_pill_combo_style" addthis:url="{link}" addthis:title="{title}"><a class="addthis_button_compact">{text}</a></div>'
),parse_e_conf($e));
return mper($conf['template'],$conf);
}
Windows Firefox
0
0
Бугогашечки про prototype. Он работает именно так, как должен работать javascript. Просто кое-кто, видимо, пытается забивать гвозди микроскопом, а потом жалуется, что неудбно: «Ну, я конечно, отпилил лишние части... но всё равно тут и там торчит парочка, мешаются. Мой молоток удобней.»
Linux Firefox
 Москва
0
0
Срочно напишите всем разработчикам браузеров, что javascript у них плохой, не настоящий, силиконовый - пока не подключена библиотека prototype.
Windows
0
0
[email protected]Леша (lesha)
Не совсем. И разработчики об этом честно предупреждают на своем сайте.

Для примера:
a=new Array();a[1]=1;a[2]=2;
for(i in a) document.write(i+"-"+a[i]+" ");

печатает 1,2 но не печатает "length", хотя a.length существует. ;)

Чтобы они не светились - надо их помечать enumerable: false. Но авторы prototype не могут это сделать и в доке описали подробно почему.

ps. "Но вы в курсе, что здесь тэги html не отобразятся?" - вкурсе, но нет кнопку "я и не хочу чтобы они отобразились как html :)) потому убрал теги script и br
Linux Firefox
 Москва
0
0
Исправил отображение тэгов. В "штуки" появилась опция "отображать html", о чем теперь сообщают предупредительные окна. Кому надо - откроет и выставит опцию, а все прочие, кто пытается постить html, обломаются.
Windows Firefox
0
0
Галку отображать хтмл поставил, хтмл отобразился. А при редактировании коммента уже не дает отредактировать - "Но вы в курсе, что здесь тэги html...."

Не дает редактировать, даже когда есть просто символ меньше
Windows Safari Chrome
0
0
Среди клонов Lightbox есть и вполне приличные, без чемоданов:
http://planetozh.com/projects/lightbox-clones/

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

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