[WT] [Архив]  [Поиск] Главная Управление
[Совместно с Ычаном]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 17371)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP размером до 10000 кБ.
  • Ныне 2605 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
150682259759.jpg-(84.21KB, 960×720, 1258163340905.jpg)
17371
No. 17371 watch    
Давайте попробуем, что ли.

JS у нас по-прежнему ковырять некому, но хотелось бы доработать местную функцию разворота картинок. Сейчас она просто разворачивает изображение целиком без учёта размера окна браузера. Соответственно, требуется доработать её так, чтобы ширина окна учитывалась.
Скрипт лежит в http://410chan.org/lib/javascript/kusaba.js

Да, я в курсе, что все привыкли к тому, что для разворота надо нажимать на картинку, а не ссылку над ней (как у нас сейчас). Если скрипт научится учитывать ширину окна, это можно будет переделать.
Развернуть все изображения
No. 17373    
Если что, то искомая функция называется function expandimg(I, H, F, C, G, E, A)

>>17371
Одним из самых простых вариантов будет просто добавить аттрибут maxWidth, используя один из существующих элементов для референса. Например, в своём предложении для ычана, я брал текущую ширину первого поста, и работал от неё:


function iithumbresolvemaxwidth() {
  //Это будет первый пост, и на бордах он обычно по полной доступной ширине
  var referenceelement = document.getElementsByTagName('blockquote')[0];
  //Если мы первый пост нашли, то забираем его ширину
  //Ноль возвращается, чтобы можно было определить, удачно мы разрезолвили ширину, или нет.
  var resolvedmaxwidth = referenceelement ? referenceelement.clientWidth : 0;
  return resolvedmaxwidth;
}

Если подобное решение подходит, могу встроить его в наши текущие скрипты.

Хотя, конечно, у нас сейчас движок все параметры большой картинки забивает железно на этапе генерации страницы (именно поэтому у функции такая сигнатура) и поверх этого maxWidth еще делать это кайнда война скриптов.
No. 17374    
>>17371
Впрочем, если мы хотим открывать картинку по нажатию на тумбнейл, то мы вообще можем просто применить к себе скрипт-победитель для ычана, т.к. там они почти полностю автономные, а на нажатие на картинку у нас сейчас ничего не висит.
No. 17375    
15068881657.zip-(666.57KB, 410chan_expand_images.zip)
17375
>>17371
Адаптировал вам скрипт с ычана хоть мне и не очень нравится как он сделан, и добавил пример на базе текущего /dev/. Разворот делается по нажатию на картинку, события онклик со ссылок убрал. Скрипт соответствует всем тем же требованиям, что и для ычана, внутри полная и минифицированная версии см. папку extras

Оригинал скрипта для ычана был тут: https://github.com/WagonOfDoubt/iichan-extensions/blob/master/dist/iichan-expand-images.js
No. 17376    
150688942849.jpg-(276.46KB, 500×752, 7200283.jpg)
17376
>>17375
А вы учли, что есть ещё кнопка «Развернуть все изображения», которая появляется в нитях, где много картинок?
No. 17377    
>>17376
Честно говоря, я как-то не замечал её. Сейчас посмотрю как там всё устроено.
No. 17379    
150696121437.zip-(1.36MB, 410chan_expand_images_expand_all_min.zip)
17379
>>17371
>>17376

Вот версия с поддержкой кнопки «Развернуть все изображения», которая разворачивает / сворачивает их. Чтобы кнопка работала, ей нужно дать аттрибут id, соответствующий указанному в константе в скрипте. И убрать у неё её стандартный аттрибут onclick

В примере нить Caturday в /b/
В архиве обычная и минифицированная версии
Предыдушие проблемы с минификацией были связаны с тем, что я дурак и не заметил, что изначальный скрипт - часть проекта в котором уже все таски уже настроены, включая минификацию и эскейпинг
No. 17381    
Что-то по-моему местная разворачивалка идеальная.
А вот в ычанской разворачивалке баг, иногда картинка налезает на текст.
No. 17382    
>>17381
>Сейчас она просто разворачивает изображение целиком без учёта размера окна браузера. Соответственно, требуется доработать её так, чтобы ширина окна учитывалась.

Там основная проблема в том что ширина и высота будущей картинки проставляются с сервера.

Впрочем, можно действительно просто сделать то что просит Соус - добавить в старую функцию выставление максимальных размеров картинке. Наверное, добавлю сюда еще и такой вариант.

Алсо, если можешь воспроизвести баг разворачивалки с ычана, то напиши как это делать, т.е. на какой картинке в какой ситуации оно налезет на текст
No. 17383    
15070629558.png-(1.08MB, 1726×782, Screenshot_2017-10-03_23-31-47.png)
17383
>>17382
Похоже, только в хроме лисоюзеры, молчать.

1. Открываем хром(оперу|иум).
2. Задаем размер окна 868 x 531 (W x H)
3. Заходим в /a/ и нажимаем превьюху.
4. Налезает.

Заметил на мобильнике первый раз.
Может быть там float: left надо?
No. 17384    
>>17383
Возможно, что это еще и только в линуксе. Вижу, что тема уходит под изображение, а не наплывает сверху на него

Если просто раскрыть картинку и уменьшать окно, проблема себя проявит?
No. 17389    
150715120333.zip-(2.04MB, 410chan_expand_images_old.zip)
17389
>>17371
>>17382
Как и обещал, сделал дополнительно версию на базе текущей функции, с использованием трюка из >>17373 Это Ctrl+C Ctrl+V решение. Мне не хотелось устраивать войну скриптов, когда один скрипт проставляет ширину-высоту, а второй удаляет, поэтому я дополнительно раcчитываю макс высоту с учетом аспекта, и вроде все живы

В архиве пример на базе темы Persona 5 в /b/
No. 17393    
Может, такой вопрос лучше в /д, но здесь могут мимодевы объяснить или подтвердить проблему. У меня стабильно какая-то лабуда с посещением автобуса на ведре. Хожу по сайту, захожу в треды, всё ок. Через пару переходов загрузка страниц останавливается, и автобус намертво перестаёт грузиться без сообщений об ошибке. Надо ждать какое-то время. Примерно не скажу сколько, но долго, не несколько минут. Это опера на ведре. Такая проблема только с автобусом замечена. По той же сети на пеке всё хорошо.
No. 17398    
>>17393
Сжатие трафика (прокся) включена? С зарубежных ип замечал тоже такое, отваливается.
No. 17399    
>>17398
Интересная версия, но экономия трафика выключена. Посмотрю ещё из другого браузера и с другой сети.
No. 17405    
>>17398
На лисе на ведре попробовал, когда снова возникли проблемы на опере. То же самое. С временем мог преувеличить, за несколько минут все же проходит.
Проверяю на другой сети, вроде нет проблем.
No. 17407    
Сделал не копипасту с Ычана, но принцип тот же. Технологически и визуально отличий нет.
https://gist.github.com/WagonOfDoubt/84b3bb2182525e083359359170dfb0b6/revisions
См. дифф второй ревизии. В img_global.css добавлен класс .image-fullsize, в kusaba.js переписана только expandimg.
Никаких let, const, и прочей esNext-лабуды нет, оно конечно хорошо, но уж если перепиливать, так вообще все, сейчас хоть смотрится аутентично. Эх, запилить бы свою котобу с маджонгом и булочками.
Должно нормально работать начиная с Chrome 26, Firefox 16, Internet Explorer 10, Opera ?, Safari 7.
Фича не раскрывать на маленьких экранах убрана, так как работает по прежнему через onclick, и return false там перманентный. Какой бы ни было дикостью вешать onclick, этот способ требует наименьших изменений.
Для владельцев черно-белых нокий и прочих утюгов, можно обернуть тело функции expandimg в try...catch, впрочем все равно непонятно как у них остальные функции тогда не падают.
Вариант >>17373 меня не устраивает подходом. Масштабировать картинку по размеру страницы это прямая задача браузера, и проблема эта должна решаться и нормально сейчас решается средствами css, в то время как javascript отвечает за пользовательское взаимодействие, а не рассчитывает по формулам положение каждого элемента на странице. Раньше иного выхода не было, и приходилось делать именно так, но даже поддержка более старых браузеров для меня не перевешивает. К тому же, при таком варианте уже развернутые картинки не масштабируются при изменении размеров окна, в отличие от варианта как на Ычане.
No. 17408    
Кстати,
> <meta name="twitter:card" content="summary">
I see what you did there.
Мета должна быть в <head>, Твиттер все равно это парсит?
И да, разворот картинок нужно обязательно перенести на картинку, на ссылку пальцем попасть невозможно.
Еще есть один фичереквест, требующий мааленького изменения шаблона.
Если в ссылку на картинку
<a href="{$file_path}/src/{$post.file}.{$post.file_type}" onclick="javascript:expandimg('{$post.id}', '{$file_path}/src/{$post.file}.{$post.file_type}', '{$file_path}/thumb/{$post.file}s.{$post.file_type}', '{$post.image_w}', '{$post.image_h}', '{$post.thumb_w}', '{$post.thumb_h}');return false;">

Добавить
{if $post.file_original neq '' && $post.file_original neq $post.file}download="{$post.file_original}.{$post.file_type}"{/if}

Чтобы получилось
<a href="{$file_path}/src/{$post.file}.{$post.file_type}" onclick="javascript:expandimg('{$post.id}', '{$file_path}/src/{$post.file}.{$post.file_type}', '{$file_path}/thumb/{$post.file}s.{$post.file_type}', '{$post.image_w}', '{$post.image_h}', '{$post.thumb_w}', '{$post.thumb_h}');return false;" {if $post.file_original neq '' && $post.file_original neq $post.file}download="{$post.file_original}.{$post.file_type}"{/if}>

То картинки будут скачиваться на компьютер под тем же именем, под которым они заливались, и можно иметь buločka.jpg вместо 123456789.jpg
Более того, я бы отказался от отображения нумерованных имен файлов за ненадобностью, и заменил бы чуть дальше строку
{$post.file}.{$post.file_type}</a>

на
{if $post.file_original neq '' && $post.file_original neq $post.file}{$post.file_original}.{$post.file_type}{else}{$post.file}.{$post.file_type}{/if}</a>

Только эти ссылки скопипасщенны в нескольких местах, как винимум в img_thread.tpl и в img_board_page.tpl
No. 17409    
И в css не помешало бы добавить
.inline-pp, .prettyprint {

    white-space: pre-wrap;
}

No. 17410    
Понапридумывають хѣрню и головы ломають.
.thumb{max-width:100%;height:auto;box-sizing:border-box;margin:0;padding:2px 20px}

No. 17411    
Еще реквест: на странице треда есть группа ссылок
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
, их не помешало бы обернуть в div, иначе стилями с ними ничего не сделаешь.
No. 17412    
150746210020.png-(599.22KB, 1158×645, 12345681.png)
17412
>>17408
>Мета должна быть в <head>, Твиттер все равно это парсит?
Я просто сунул туда, куда можно сунуть штатными средствами. «Твиттеру» всё равно. В принципе, надо будет это вообще убрать, оно в таком виде бесполезно.
>То картинки будут скачиваться на компьютер под тем же именем, под которым они заливались
Не нужно.
>как винимум в img_thread.tpl и в img_board_page.tpl
Которых у нас вообще в движке нет.

>>17409
Да, добавлю, когда буду ковырять CSS в следующий раз.
No. 17413    
150747249385.png-(189.01KB, 1349×631, nazad.png)
17413
>>17412
> Не нужно.
А жаль. Это хоть >>17411 можно сделать, а то некрасиво в body текст держать.
No. 17414    
150748862150.png-(8.22KB, 362×180, Untitled.png)
17414
Заодно поделайте что-нибудь со ссылкой «Назад» на форме треда, чтобы та на границу не наезжала.

Можно, например, в шаблоне вместо span с float сделать div с правым text-align.
No. 17415    
А ещё сделайте так, чтобы при наведении курсора на ссылку на пост был какой-то таймаут закрытия разворачивающегося по ссылке поста вместо моментального закрытия при выходе курсора за область ссылки на пост. Чтобы можно было просмотреть цепочку постов.
No. 17416    
Вот, кстати, более насущный фичреквест по поводу шаблонов страницы, болезнь всех ванильных бордодвижков: перенеси прикреплённые кортинки в ОП-постах под лейбл с именем, темой и прочей лабудой, как в обычных постах. Тогда и раскрытие оных будет более правильно выглядеть.
No. 17426    
150784341346.png-(586.80KB, 898×641, 12345697.png)
17426
По скриптам сроков у меня, разумеется, нет.

>>17409 добавил.
>>17414 ждёт своего часа в репозитории.
>>17411 про это я давно знаю, да. Когда-нибудь.
No. 17428    
>>17426
Видели эти версии скриптов?

Ычан-стайл >>17379
410-стайл >>17389
No. 17429    
>>17428
Вот это >>17410 решение самое простое. Никаких скриптов и работает отлично, нечего тут голову ломать.
No. 17434    
150792261956.jpg-(87.55KB, 422×600, c4d7c0338fa92352c6f9eef098fc8867e69df5fc.jpg)
17434
>>17428
Никто пока ничего не смотрел.

>>17429
И в чём его суть, если оно только вёрстку портит и больше ничего не даёт? По крайней мере, при вписывании в CSS всё именно так, возможно, я что-то не так делаю вдруг.
No. 17436    
>>17434
Не знаю, что оно портит, но у меня работает как и требовалось: картинки больше не вылезают за края постов. Результат тот же, что и в >>17407, но не требует правки скриптов. Остается только в шаблонах
onclick
перевесить со ссылки на картинку.
No. 17437    
>>17434
Отвечу ак автор: добавь в конце глобальной цссины или замени маргин на паддинг и добавь остальное. И ещё оно работает только там, где есть цсс3 (кроме Осла, вроде как, потому что они слоупоки и не принимают до конца стандарт). Суть в том, что бокс-сайзинг приказыает параметру ширины учитывать паддинг как часть самого элемента при подсчёте максимальной ширины, из-за чего 100% считается как максимальная ширина кортинки с отступом до полного ухода края поста к краю экрана, опять же с учётом отступов, а параметр высоты уже подстраивает высоту под оригинальные пропорции, чтоб искажений не было. “Сломать” оно могло только на браузерах без поддержки бокс-сайзинга “вываливанием” кортинки за границу поста на сорок пиксолей, которые берутся от отступов (по двадцать с каждой стороны), т.е. если в нормальных браузерах, допустим, 1000 пикселей — ширина кортинки+отступов, то в Осле и древних браузерах — только кортинки.
No. 17477    
Мнѣніе >>17437 вѣрно передаётъ смыслъ правила
box-sizing: border-box
и необходимость его.
No. 17518    
150860023842.jpg-(262.98KB, 563×800, 509b751a4e790f2d07bfc204876f3806e5a980f9.jpg)
17518
>>17414 сделано.

>>17437
Ок, гляну ещё раз, когда будем глядеть.
No. 17524    
По виду реплики >>17477 с неудовольствием вижу, что текст в обратных апострофах не только обёртывается в тег pre, но и попадает на отдельную строку.

Не надо так.
No. 17701    
>>17437

> И ещё оно работает только там, где есть цсс3 (кроме Осла, вроде как, потому что они слоупоки и не принимают до конца стандарт).

По-моему, нѣтъ.

Статья https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing в настоящее время гласит, что Осёл (ведь имелся в виду Internet Explorer, не правда ли?) понимает «box-sizing: border-box», начиная от версии IE8.

В таком случае в Internet Explorer, как сказано там дальше в MDN, фигово работает вычисление высоты функцией «window.getComputedStyle()»; но так как 410chan её вроде как и не использует вообще нигде, то и не пофигу ли?
No. 17702    
Имею пожелание о доработке интерфейса 410чана, и выскажу.

Сейчас в реплике >>17698 звукопроигрыватель выводится вот каким кодом:

<span style="float: left;">

<embed type="application/x-shockwave-flash" src="/player.swf?playerID=17698&amp;soundFile=/dev/src/151085654446.mp3" width="80" height="15" /></embed></span>


Во-первых, этот код внутренне противоречив, потому что при наличии закрывающего тега «embed» в конце открывающего тега «embed» не нужна косая черта. Кромѣ того, онъ противорѣчитъ и стандарту, въ которомъ¹ сказано, что у тега «embed» нѣтъ закрывающаго тега.

Во-вторых, всѣ современные браузеры достаточно давно (начиная от версий Chrome 3, Firefox 3.5, IE9, Opera 10.5, Safari 3.1, а также во всѣхъ версіяхъ Edge)² понимают тег HTML5 «audio» и отображают на его месте звукопроигрыватель, который внешне более красив, а в употреблении более удобен и функционально развит, чем флэшёвый звукопроигрыватель на 410чанѣ.

В то же время поддержка Flash на всѣхъ сколько-нибудь новых мобильных устройствах отсутствует на протяжении шести лет, будучи отозвана производителем Flash (компанией Adobe) по адресу http://blogs.adobe.com/conversations/2011/11/flash-focus.html 9 ноября 2011 года. Что же касается немобильных устройств, то у их пользователей Flash блокируется и некоторыми блокировщиками рекламы, и даже некоторыми браузерами, да притом ещё и глючит да тормозит.

Принимая вышеизложенное во внимание, прошу администрацию 410чана найти в исходном коде сайта 410чана генератор вышеизложенного кода и переменить его таким образом, чтобы вместо него создавался код звукопроигрывателя HTML5:

<audio style="float: left; margin: 0 1em 1em 0;" src="/dev/src/151085654446.mp3" controls preload="metadata"></audio>


(Единственная переменная часть этого кода — значение атрибута «src»: туда вписывается относительный URL конкретного звукового файла.)

Этакий-то звукопроигрыватель будет куда лучше нынешнего, в том я совершенно уверен и администрацию 410чана спешу заверить — по крайней мере, в случае файлов MP3.

Звукопроигрыватели HTML5 в настоящее время более всего способны воспроизводить MP3. Некоторые другие форматы звуковых файлов имеют³ с этим изрядные проблемы: Ogg Vorbis не слышно в IE и Edge и в Safari (и вообще на iOS), FLAC опережает Ogg Vorbis только в Edge, AAC не слышно в Firefox (если не внутри контейнера MP4, а это изврат), Opus не слышно в IE и во встроенном браузере системы Android.

Будущее принадлежит Opus по мере погибели IE и обновления встроенного браузера в системе Android.

__________

¹ См. https://www.w3.org/TR/html5/embedded-content-0.html#the-embed-element

² Свѣдѣнія о браузерной поддержкѣ audio взяты со страницы https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#Browser_compatibility въ MDN.

³ Списокъ проблемъ взятъ на страницѣ https://caniuse.com/#search=audio
No. 17704    
>>17702
Тут история с
alert(req.statusText);
длилась годами: просили закомментировать одну единственную строчку, так она до сих пор там.
No. 17713    
15108878131.png-(804.52KB, 1280×720, 1419959214456.png)
17713
>>17702
Это одна из тех вещей, которая есть, пока не отвалится окончательно.
Никаких планов развивать эту функцию нет. Сама загрузка этих форматов разрешена только в /dev/ в силу специфики раздела, а не для удобного прослушивания музла.

>>17704
Я не лезу в те части движка, принцип работы которых не понимаю. А кроме меня сейчас некому.

>>17410 сунуто в репозиторий.
No. 17727    
151093155630.png-(10.85KB, 120×120, face-palm_1f926.png)
17727
>>17713
No. 17728    
151093267738.jpg-(244.46KB, 700×808, 1359818223014.jpg)
17728
>>17727
Я вот, например, реализацию с тегом вместо флэшь-плеера сунул в репозиторий шесть часов назад, а вы мне жёлтые рожи постите.
Постыдились бы.
No. 17729    
151093362778.png-(10.45KB, 120×120, clapping-hands-sign_emoji-modifier-fitzpatrick-typ.png)
17729
>>17728
No. 17730    
>>17728
Ну вот и молодец. А теперь по случаю сования >>17410 в репозиторий, можно и разворачивание картинки перенести со ссылки с названием на превью. Говорю об этом, если что:
onclick="javascript:expandimg('17662', '/dev/src/151072352512.jpg', '/dev/thumb/151072352512s.jpg', '2369', '2000', '200', '168');return false;"

Не так уж и сложно. Достаточно пройтись поиском "expandimg" по файлам шаблонов и переместить это дело из одного <a> в другой.
No. 17732    
Прямо сейчас в коде этой страницы есть строка «onclick="javacript: request_faptcha('dev');"».

Оттуда надо бы слово «javacript» с последующим двоеточием и пробелом убрать, потому что в атрибутах onчто-то_там URLы не пишут, а сразу код JavaScript нафигачивают.

Строка «onclick="javascript:» (с лишним «javascript:» без опечатки) повторяется сейчас на странице 111 раз.

Оттуда надо бы слово «javascript» с последующим двоеточием убрать.
No. 17733    
>>17732
А еще лучше этот onclick вообще убрать, да куда там...
No. 17744    
151102172495.jpg-(53.75KB, 400×533, f465557e3d0d0d1c58f7b6aa136c0227041fc3b1.jpg)
17744
Отправил >>17410 на тест.
Использование свойства box-sizing приводит к тому, что стандартные превью (200 пикселей) показываются раза в полтора меньше реального размера (но разворачиваются с учётом ширины, да), а картинки меньшего размера (32×32, например) не показываются вообще (и не разворачиваются при нажатии на).
Либо объясняете почему, либо идёте к чертям с этой реализацией, к сожалению.
No. 17745    
>>17744
Абисняю.
Дело в том, что ширина, задоваемая Кусабой, с
box-sizing
будет считаться с отступами от
paddng
. То есть у твоей превьюхи 150 пиксолей, допустим, потому ширина уменьшится на 40 оных из-за отступов по двум бокам в 20 пиксолей, после чего высота автоматически подгоняется под полученную ширину. Собсна, от этого не видно превьюх меньше сорока пиксолей.
Моя вина, звиняйти-с.
По-хорошему, нужно развёрнутой кортинке отдельный класс вешать, но можно и сейчас проблему решить, всего лишь добавив условие, что в ссылка на кортинку, у которой класс
.thumb
, идёт в директорию /src/, то есть на оригинал; превьюхи же будут использовать ванильные маргины без бокс-сайзингов.
.thumb[src*="/src/"]{max-width:100%;height:auto;box-sizing:border-box;margin:0;padding:2px 20px}

No. 17746    
А ещё можно добавить
.inline-pp{display:inline-block;margin:0}
. А то вроде инлайн указан, а он вовсе не инлайн. И вообще в Кусабе вроде как есть отдельно инлайновый код и блочный. Странно, что тут всё инлайновым пишется.

Короче, ещё погляжу, что можно подправить.
No. 17747    
>>17744
Я просто добавил данное решение через stylish, и более месяца пользуясь, ничего подобного не наблюдал. Проблема в приоритетах: данный код устанавливает margin в 0 и добавляет padding, далее css кусабы возвращает свой margin обратно, таким образом оба отступа сохраняются. Нужно либо убрать существующий margin из css, либо добавить этот код в самый конец файла, а не в начало, либо повысить приоритет селектора, написав не 《.thumb》, а《img.thumb》, либо 《body .thumb》, 《a .thumb》и тому подобное. Очевидные вещи, вроде бы.
No. 17748    
151102975081.png-(267B, 16×16, 410.png)
17748
>>17747
Ащета должен был наблюдать. Попробуй потыкать туда-сюда переключатель этого стиля и посмотри на тумбинашки.

Алсо тест.
No. 17749    
151103004130.png-(1.49KB, 32×32, flower-power.png)
17749
>>17745
>.thumb[src*="/src/"]
Это решает проблему превью, но не решает проблему разворота. При развороте они по-прежнему исчезают или уменьшаются.

>>17747
Какой маргин откель оно берёт, если единственный маргин там 0? Туда был внесён класс .thumb ровно такой, какой указан >>17410. Старый .thumb убран. Я понять не могу, что вы пишете вообще.

Вот на этой картинке я тестирую это всё сейчас.
No. 17750    
>>17749
Всё, нашёл правильное решение:
.thumb[src*="/src/"]{max-width:100%;height:auto;width:auto;box-sizing:border-box;margin:0!important;padding:2px 20px}

No. 17751    
>>17750
Ой, точнее, даже так:
.thumb{max-width:100%;height:auto;width:auto;box-sizing:border-box;margin:0!important;padding:2px 20px}

No. 17752    
>>17751
> margin: 0 !important;
Таки значит откуда-то margin таки берется.
Лучше все же не использовать important, а как говорилось, переделать селектор.
No. 17755    
>>17752
Импортант тама для убирания другого маргина.
Правильнее всего было бы, конечно, в img_global.css c 30-й строки поменять
.thumb {border: none;float: left;margin: 2px 20px;}

на
.thumb {border: none;float: left;box-sizing: border-box;max-width: 100%;height: auto;width: auto;padding: 2px 20px;}

No. 17756    
151103189646.jpg-(3.81MB, 2893×4089, 8757161.jpg)
17756
>>17751
Похоже, что это оно.
Когда-нибудь оно дойдёт досюда.
No. 17761    
151103887133.jpg-(62.63KB, 578×767, высадка инопланетного деса.jpg)
17761
>>17728

> Я вот, например, реализацию с тегом вместо флэшь-плеера сунул в репозиторий шесть часов назад, а вы мне жёлтые рожи постите.

> Постыдились бы.

Не постыжусь вовек, потому что вовсе не знал об этом и оттого отреагировал на предшествующее; а предшествующее объективно выглядело как бесперспективняк.

>>17733

> А ещё лучше этот onclick вообще убрать, да куда там...

Исходный код Flower Bus Engine закрыт, но исходный код джаваскрипта его всё же невозбранно виден во браузере, так что теоретически ничто не мешает отпилить http://410chan.org/lib/javascript/kusaba.js и напилить вместо этого такой новый JavaScript с улучшенным управлением событиями, который сам будет обработчики событий навешивать на элементы, так что атрибуты onclick в HTML-коде не понадобятся, и оттого выглядеть он станет, право же, куда чище.

Проект такого переустройства должен будет, разумеется, сопровождаться, окромя джаваскриптовой части, также и инструктивною частью, содержащей указания наподобие «устранить создание атрибута onlick, вызывающего функцию expandimg(), в том месте Flower Bus Engine, которое аналогично строке https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/classes/board-post.class.php#L1086 в Кусабе,¹ и заменить на создание четырёх data-атрибутов таким-то кодом PHP» или «отпилить http://410chan.org/lib/javascript/protoaculous-compressed.js с заменой на такую-то версию jQuery».

На том пути прозреваю два преткновения:

1) Кроме исходного кода джаваскрипта, невозбранно видного во браузере, есть ведь (или теоретически может быть) не видный, который обеспечивает администрирование. Надо так действовать, чтобы и его не порюхать; но нѣтъ увѣренности въ томъ, что возможно дѣйствовать такъ.

2) Точно ли Flower Bus Engine основан на той именно Кусабе, исходники которой по адресу https://github.com/tslocum/kusaba/ лежат? — если он основан на какой-нибудь другой версии Кусабе (быть может, отчасти допиленной, как вот http://kusabax.cultnet.net/ например), то ценность инструктивной части может стремительно падать, так как в коде Flower Bus Engine не отыщется прямого аналога того куска Кусабы, который будет указан со словами «править надо вот тут и вот так».

____________

¹ Отдельно отмечу, что оплошность >>17732 (употребление «javascript:» внутри атрибута onclick) встречается непосредственно в исходном коде у Кусабы, чего я никак не ждал, по умолчанию относя её появление на счёт создателей Flower Bus Engine.
No. 17775    
А зачем в превью постов мусор из заголовка страницы?
No. 17776    
>>17775
Щта.
No. 17783    
>>17776
https://pastebin.com/NUGpK4Fi
No. 17785    
151111003392.jpg-(312.36KB, 532×720, 9901633.jpg)
17785
>>17783
Если оно и так, то я не знаю, почему.
No. 17786    
>>17775
Видимо причина кроется в следующем:
У кусабы/автобуса есть подобие api, позволяющее получить пост по доске, треду, и его номеру. При наведении на >>ссылку запрашивается url вида http://410chan.org/read.php?b=dev&t=17371&p=17776&single
Вот только во время ковыряния шаблонов случилась так, что шаблон, применяемый в read.php, который вообще не должен содержать <head>, <body> и прочее, а выдавать текстом простой div, стал наследоваться от дефолтного шаблона для всех страниц, с метрикой и прочим.
Надо бы пофиксить.
No. 17788    
>>17786
Агась.
От этого, кстати, перестанут ломаться границы между тредами и прочее при появления попапа с превью, так как недобраузеры всё же загружают стили (в частности img_global.css) не из head и получается так, что значения из этого самого глобал.цсс перебивают каштомные от стиля, выбранного в менющке сверху.
No. 17789    
151111143956.jpg-(111.44KB, 600×338, 00000029.jpg)
17789
>>17786
Оно и в самой что ни на есть исходной «Кусабе» 1.0.4 это всё дёргает.
Попробуйте для неё исправление сделать, возможно оно нам подойдёт.
No. 17807    
151112014541.gif-(38.35KB, 553×579, anti-anime.gif)
17807
В дополнение к реплике >>17789 сообщаю, что в репозитории https://github.com/tslocum/kusaba лежит, по-видимому, именно Кусаба версии 1.0.4, что в строчке https://github.com/tslocum/kusaba/blob/master/trunk/config.php#L203 прописано.
No. 17839    
Кстате, как вы смотрите на унификацию стилей, чтоб только цвета перекрашивало?
No. 17841    
151120529174.jpg-(495.82KB, 595×841, 9157815.jpg)
17841
>>17839
На самом деле, я уже начал это готовить потихоньку.
Всякие отступы со временем точно в глобальный стиль переползут.
No. 17865    
151132392835.jpg-(1.08MB, 3508×2480, Вселённые люди.jpg)
17865
Также ещё на 410чане надо отпилить атрибут «type="text/javascript"» ото всех HTML-тегов «script», потому что и без него по умолчанию так, так что он зря только мѣсто занимает в исходном коде.
No. 17869    
151135053190.jpg-(399.05KB, 1024×1024, __uiharu_kazari_to_aru_kagaku_no_railgun_and_to_ar.jpg)
17869
>>17865
Дайте мне ссылку на стандарт, где так сказано.
No. 17871    
>>17869
https://www.w3.org/TR/html5/scripting-1.html#attr-script-type
> The type attribute gives the language of the script or format of the data. If the attribute is present, its value must be a valid MIME type. The charset parameter must not be specified. The default, which is used if the attribute is absent, is "text/javascript".
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
https://www.w3schools.com/Tags/tag_script.asp
No. 17872    
151135179118.jpg-(470.43KB, 1024×1024, __uiharu_kazari_to_aru_kagaku_no_railgun_and_to_ar.jpg)
17872
>>17870
Ага, если HTML5.
А у нас тут 4.01 пока.
No. 17873    
>>17872
Даже на Netscape 2 это поддерживается.
No. 17874    
>>17872
Тут кстати и HTML 4.01 не валидный.
http://validator.w3.org/check?uri=http://410chan.org/dev/&charset=(detect automatically)&doctype=Inline&group=0
No. 17875    
151135362220.jpg-(572.72KB, 800×800, 54217868_p3.jpg)
17875
>>17874
Спасибо, Капитан.
Хотя вот почему он не видит <head>, я не понять не могу.
No. 17876    
151135394695.jpg-(45.21KB, 400×400, автобусу пиздец.jpg)
17876
>>17872

Этот кусок стандарта HTML5 просто документирует то поведение по умолчанию, которое и до HTML5 было во всѣхъ браузерах во всѣ времена.
No. 17877    
>>17875
Из-за Яндекс.Метрики. Подразумевалось, что этот код надо копипастить в самый конец <body>, а не в начало <head>, о чем свидетельствует даже кусок кода
<noscript><div><img src="https://mc.yandex.ru/watch/38099020" style="position:absolute; left:-9999px;" alt="" /></div></noscript>

Ну а валидатор в первой ошибке сообщает, что это "/>" в конце img по его соображениям закрывает <head>.
No. 17879    
151136738210.png-(2.57MB, 1920×1080, Suzumiya Haruhi no Yuuutsu - a celestial.png)
17879
>>17877

На самомъ дѣлѣ нѣтъ.

Просто тэги «div» и «img» в стандарте прописаны как недолжные для внутренностей «head», поэтому при их появлении валидатор (да и почти каждый браузер, наверное) начинает мысленно подразумевать закрывающий «/head» и открывающий «body» перед ними.
No. 17880    
151136794827.jpg-(128.42KB, 1280×720, anime frame.jpg)
17880
>>17877

Ну а валидатор в первой ошибке сообщает только то, что желающим выпендриваться с XML-подобными «самозакрывающимися» тэгами (с косой чертою на заднице) следует наперёд переключить весь документ в режим XHTML или хотя бы HTML5.

If you expect <FOO /> to be interpreted as an XML-compatible "self-closing" tag, then you need to use XHTML or HTML5.

No. 17903    
Хотел победить горизонтальные скроллбары от кода, но хѣр там.
Нужно отдельный блочный код с максимальной шириной 480px и инлайновый в спане, чтоб не ставило неразрывные пробелы. Или обернуть посты в контейнер-блок, но тогда не будет обтекания постов вокруг кортинки в ОП-посте.
No. 17904    
Взглянул детальнее на глобал_имг.цсс и… о госпадя.
Корочи, если унифицировать, то ориентироваться на Умночан?
Как руки дойдут — скину сразу все стили.
No. 17905    
Подход >>17903 выглядит сложноватым, дорогуша.

Рекомендую для начала попробовать придание свойству https://developer.mozilla.org/en-US/docs/Web/CSS/white-space значения «pre-wrap». Может быть, хватит одного этого.
No. 17910    
>>17905
Ничего сложного. Можно ще <br> добавить между постами и пользовать display:inline-block без опаски, що друг на друга посты полезуть.
Не достаточно. Оно там ужо стоит. А ты почетай про таблицы и как они расширяются в зависимости от ширины содержимого шире ширины экрана. И про перенос неразрывных пробелов, которые используются в <pre> тута.
No. 17918    
151172247015.png-(248.24KB, 500×500, 1356681797821.png)
17918
Новая расширялка картинок поставлена. Онклик пока не перемещался.
И ещё некоторые мелочи.

>>17904
Не бегите впереди паровоза автобуса, это делается и так.
No. 17919    
>>17918
Можно ли .threadlinksbottom вынести за пределы div'а треда?
И обернуть в div верхнюю кнопку "[Назад]"
No. 17920    
>>17919
То же касается кнопки "[Mod]". Она не обернута.
No. 17925    
>>17918
Поздна.
Ещё тебе свг-иконки зделою наконец.
No. 17926    
151174991272.jpg-(2.59KB, 108×50, 2017-11-27 05_29_25.jpg)
17926
>>17925
Пока только ворованные.
Или ну его? Или заморочеца и перерисовать Умночяновские, шоб можно было перекрашивать в любой цвет?
No. 17931    
151179805590.gif-(537.81KB, 500×598, 1456460504951.gif)
17931
>>17925
Вы-то можете делать что угодно, просто это потом окажется никому не нужным.
Исходники у (некоторых) значков и так в SVG, так что опять же рисовать их заново не нужно.
No. 17932    
>>17931
Ууу~ глупая банка!
Не кажи гоп. От зделою — тогда посмотрим.
Так понимаю, речь про те, которые в админбаре и умночановский пнг? Чому тогда других цветов не нарендерил?
No. 17933    
151189152344.png-(116.28KB, 1024×1024, tex_chara_l_567.png)
17933
>>17919
>Можно ли .threadlinksbottom вынести за пределы div'а треда?
Вряд ли.
>И обернуть в div верхнюю кнопку "[Назад]"
Найдите её в оригинальной «Кусабе» 1.0.4 и покажите мне, что там оборачивать. Так быстрее будет.
No. 17935    
>>17933
Предположительно, где-то в конце:
https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/func/pages.php
No. 17936    
151198010329.png-(158.60KB, 1024×1024, tex_chara_l_568.png)
17936
>>17935
>Предположительно
Наверное, не стоит умничать, если вы разбираетесь в этом даже меньше меня (хотя куда уж меньше меня-то, лол?).
В этом файле содержится само формирование ссылок, которое нам не нужно. Перед нами не стоит цель изменить их содержание или концепцию.
Формирование внешнего вида доски содержится в файле /inc/classes/board-post.class.php. Именно там надо смотреть, куда впихнуть условный <div class="threadlinkstop">. Мне это надо знать точно, потому что с нижними ссылками было проще, ибо они уже были обёрнуты в <span>, который и был мной переделан на <div>.
Верхние не обёрнуты ни во что, и именно эту проблему мы хотим устранить.
No. 17937    
>>17936
Ага, нашёл.
https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/classes/board-post.class.php
640 строка
'<div class="threadlinkstop">' .

threadLinks('return', $thread_op_id, $this->board_dir, $this->board_type, $modifier_last50, $modifier_first100) .

'</div>' .

No. 17938    
>>17937
Меня, как мимокрокодила, волнует строка 1170 того же файла.
No. 17939    
151198459736.png-(554.95KB, 1016×683, 12345703.png)
17939
В общем, непонятно.
С одной стороны, кажется, что именно pages.php отвечает за эту часть страницы. С другой, тогда непонятно, как это потом повлияет на нижние ссылки в board-post.class.php.
Поэтому я туда и не полезу.
No. 17941    
>>17938
Это для тредов на странице доски, рядом с кнопками скрытия и прочего.
Можно так:
$info_post .= ' &nbsp; ' . <span class="threadlinkspage">' .  threadLinks('page', $post['op_id'], $this->board_dir, $this->board_type, $modifier_last50, $modifier_first100) . '</span>';


>>17939
Да понел уже. Хотя можно было бы добавлять спан-контейнер ко всем тредлинкам в pages.php, а в board-post.class.php добавлять уже ойди или класс с положением.
Вообще, думал чому-то, что всё построение страниц именно в темплейтах хранится у Кусабы. Теперь понел, чому все с неё плюются и говорят, что проще новый движок написать, чем сношаться с этим трупом.
No. 17942    
>>17941
>Это для тредов на странице доски, рядом с кнопками скрытия и прочего.
Но это https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/read.php#L78 !
No. 17943    
>>17942
>&nbsp; [<a href="/dev/res/17662.html">Ответ</a>] [<a href="/dev/res/17662-100.html">Первые 100 сообщений</a>] [<a href="/dev/res/17662+50.html">Последние 50 сообщений</a>]
>$info_post .= ' &nbsp; ' . threadLinks('page', $post['op_id'], $this->board_dir, $this->board_type, $modifier_last50, $modifier_first100);
Ну чё ты, чё ты?
No. 17948    
>>17943
Тогда для чего код по ссылке?
No. 17949    
>>17948
Насколько помню, чтение.пехопе вытягивает посты в попапы и всякое такое.
No. 17951    
151200785287.png-(3.46MB, 1920×1080, Kobayashi-san Chi no Maid Dragon - deathma.png)
17951
audio { padding-right: 20px; padding-bottom: 2px; }
No. 17962    
Файл
удалён
キタ━━━(゚∀゚)━━━!!
No. 17963    
>>17962
Совас, пошто .нотумб выпелил, ирод?
No. 17965    
Основная часть зделона.
Осталася мобильная вёрстка и цветовые схемы.
No. 17993    
На заметку: под новым Лисом стало довольно удобно ковырять вёрстку.
No. 17994    
Мобильный дизигн зделон. Даже каталог человечий вид обрёл. Фæрфокс всё ще говно, не умеющее в перенос по целым словам.
Остались цвета.
No. 18003    
151243906144.jpg-(37.44KB, 320×480, 1.jpg)
18003
Аж самому понраилась простота и элегантность.
No. 18004    
151246705250.jpg-(204.61KB, 500×720, 6559493.jpg)
18004
В общем, если вы хотите, чтобы я передвинул раскрывалку картинок со ссылки на сам файл, то объясните, как это сделать на примере исходного файла https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/classes/board-post.class.php#L1085
Там ифы всякие, так что я не уверен, как это двигать.

Покажите мне диффы.
No. 18006    
151247459323.jpg-(127.91KB, 1280×720, 1453296149702.jpg)
18006
>>18005
Вы это тестировали хоть? И вы учитываете, что там проверка, действительно ли там картинка (которую надо разворачивать) или файл другого формата, которому это не надо?
Я просто для уверенности спрашиваю, один хѣръ потом откатить можно будет, если оно не заработает.
No. 18007    
>>18004
https://www.diffchecker.com/TIscY7lj
Сделано с небольшим заделом на будущее, чтобы потом убрать onclick и переписать частично kusaba.js по-человечески.
>>18003
Ссылки вверху очень мелкие, пальцем невозможно попасть.
No. 18008    
>>18006
>>18007
Пофикшено.
По коду, другие типы файлов затронуть не должно, там тупо перенос onclick из ссылки на картинку, при всех других равных условиях.
Может потом накачу эту кусабу на локалхост, чтобы поправить другие баги.
No. 18010    
>>18007
>>18008
Тоже думаю кусабу развернуть для правок. Токмо потом придётся ак-то синхронизироваться.
По поводу верхних ссылок: хочу в .навбар добавить скрытый список досок в виде селекта и обернуть обычный список в спан, шоб для десктопов показывать обычный, а для мабилачек селектовый. Ну и размер шрифта ещё будет подгоняться точнее. По задумке должен быть примерно ак в мобильных клиентах с мелким шрифтом.

>>18004
Совас, скажи лучше. От у тебя в Умночане есть .постернейм и .комментпостернейм. Первый, емнип, для оп-постов, второй — для обычных постов, и они у тебя разных цветов. Но есть одно “но” — у тебя в постах обычный .комментпостернейм. Вопрос: кокой цвет считать за Ъ — зелёный из .комментпостернейм (ящитат больше идёт) али красноватый из .постернейм, который сейчас?
No. 18011    
151247724854.jpg-(89.09KB, 563×800, b638140e73efe29cbed043f1b6f6102e13c478f3.jpg)
18011
>>18010
>>18008
Вы только учитывайте, что «Кусаба» неактуальна, и до открытия репозитория FBE толку от ковыряния её как таковой мало.

>>18010
Во-первых, я повторяю, что никакие правки CSS приниматься не будут, так что вы занимаетесь ерундой. Версия CSS на сервере новее той, что была две недели назад, но уже протухла относительно актуальной, например. Я тут хожу ещё и сразу вёрстку правлю, а не только стили.
Во-вторых, самоочевидно: то, что действительно используется, то и работает, а что не используется, то какие-то ошмётки из древних времён, которые не были вычищены. Эта зелёная штука и имя класса, например, из ычановской futaba.css, так её надо убрать к чертям.
No. 18012    
>>18011
Может FBE и не стоит публиковать. С нуля написать движок с тем же функционалом действительно проще.
No. 18013    
>>18011
Открытие вообще планируется? Да и яж не очевидно модифицированные вещи ковырять буду, а базовые, яке тут явно используются.

Говоришь так, словно за две недели ты тут на Ноду какую всё переписал и от изначальной вёрстки ничего не осталось. Выложу потом то, що имеется, хотя бы взглянешь, как аще можно облегчить стили.
Акей, понел.

>>18012
Чиочую, кусаба редкостная дырявая дрянь с индусской архитектурой. Можно даже не изобретать велосипед, а посмотреть, что сегодня среди движков имеется и выбрать самый простой и легкорасширяемый.
No. 18016    
Кстати, Совас, почему ты не убрал букмарки? Они же на куках и сервере, насколько помню, самая очевидная дыра, ими ещё одну бывшую печально известную крупноборду дудосили.
No. 18017    
151249062070.png-(356.59KB, 377×598, 1505713114833.png)
18017
>>18016
Ну так перепишите их и скрытие нитей мне под localstorage, хулѣ.
No. 18018    
15124935836.png-(84.39KB, 455×445, akinator_1_defi.png)
18018
>>18017
Будет сделано.
No. 18019    
>>18016
> и сервере
А что, так можно было?? Риальне, закрыл браузер, всё почистилось, открыл браузер, список остался! А если айпи динамический, то существует вероятность, что я попаду на список избранного другого пассажира?
No. 18020    
>>18019
Куки там используются.
No. 18021    
>>18020
> закрыл браузер, всё почистилось
No. 18022    
>>18021
> куки
No. 18024    
151250098956.png-(16.00KB, 726×232)
18024
>>18022
No. 18028    
151251524922.png-(221.54KB, 300×449, DO WANT.png)
18028
>>18013

> за две недели ты тут на Ноду какую всё переписал
No. 18030    
151252939488.png-(3.33MB, 1920×1080, Kore wa Zombie Desu ka of the Dead - crepe.png)
18030
Если бы кто-нибудь отпилил http://410chan.org/lib/javascript/protoaculous-compressed.js и напилил бы вместо того jQuery (соответственно переменив и вызовы библиотечных функций), то также было бы чему порадоваться.
No. 18031    
151257402066.jpg-(1.09MB, 1367×1988, Kobayashi&#039;s map.jpg)
18031
В имени файла апостроф отображается не как апостроф (по-видимому, подвергается двойному HTML-кодированию в Кусабе?).

Пример прилагаю.
No. 18056    
151282742256.jpg-(141.95KB, 600×338, 00000159.jpg)
18056
При попытке приделать >>18007 выявлены следующие проблемы:
— Добавление ненужной хѣрни. Как было сказано в >>17412 использование атрибута download нам нахѣръ не нужно. При этом оно дополнительно портило интерфейс тем, что вместо открытия изображения в новой вкладке выдавало диалог загрузки файла. Двойная порча пользовательского опыта.
— Что касается непосредственной (и единственной) цели всех этих манипуляций, то картинки не разворачивались при нажатии. Судя по поведению, почему-то при срабатывании выводилось то же превью, а не полная версия.
Цель не выполнена, правка не принята. Я не знаю, как это допиливать.
Тестируйте ваши правки хотя бы на живой «Кусабе».

>>17963
Добавлено.
No. 18057    
>>18056
Атлична.
Т.е. сейчас на Автобусе самая актуальная версия цсс?
Алсо добавь тогда ще .анхайд для сокрытого.
No. 18060    
>>18056
А эти версии таки никому не нужны?
http://410chan.org/dev/res/17371.html#17428
No. 18061    
151290986049.png-(122.87KB, 416×591, 6823359.png)
18061
>>18060
Сейчас реализация через CSS без замены старых скриптов, очевидно же.

>>18057
Самая актуальная, как обычно, на тесте или в репозитории.
No. 18065    
>>18061
В любом случае, как и думал, ничого особо не поменял. А то, что поменял, я уже тоже.
Короче, держи глобальный цсс и Умночанъ для примера, хотя бы глянешь, чокак.
https://pastebin.com/5AQtg4CG
https://pastebin.com/mH8FigbQ
No. 18069    
>>18056
Посыпаю голову пеплом. Мало того, что допустил пару синтаксических ошибок, так еще и код вставил вообще не туда.
Установил Кусабу 1.04 на локалхост (оказалось тот еще квест), протестировал свои изменения. В этот раз все работает.
https://pastebin.com/N4zjWwtA
Атрибут "download" убран. В диффе есть так же изменения в kusaba.js - работать будет и со старым kusaba.js, но не применять этот патч причин нет. Без него, как сейчас, картинка исчезает, пока не загрузится полностью, теперь она будет просто разворачиваться в полный размер.
No. 18071    
>>17789
Исправление для read.php оказалось довольно простым. https://pastebin.com/98TFUwkG
Изменения кода затрагивают только превью, все то, для чего оно еще нужно, затронуть не должно. Протестировано.
No. 18072    
>>18069
Еще незначительная правка https://pastebin.com/q2U3KeHX
В принципе этот KU_NEWWINDOW все равно отключен, так что на результат это бы не повлияло.
No. 18075    
Фикс для этого >>17919
https://pastebin.com/ub1B330J
Что делает:
— .threalinksbottom теперь находится за пределами .thrdcntnr - это изменения в board-post.class.php
— Та же группа кнопок сверху теперь тоже в div с классом .threadlinks, а значит для них так же можно применять css, как для нижних, например выровнять по правому краю.
— Кнопки [Mod], что находится в тердах снизу, в кусабе с гитхаба нет. Нужно в репозитории Чиочана пройтись поиском по всем файлам по запросу "toggleMod", найти эту кнопку и добавить до и после "<div>" и "</div>". Ничего сложного.
No. 18076    
По поводу "добавления ненужной хѣрни".
Есть другое решение - сделать реальное имя файла в скобках ссылкой для скачивания файла с тем же именем. По-моему, это логично. Видим "151265665175.jpg-(38.88KB, 592×562, Narutakruta.jpg)", жмем "151265665175.jpg" - открываем картинку на новой вкладке, жмем "Narutakruta.jpg" - появляется диалог сохранения файла "Narutakruta.jpg".
Решается добавлением 3 строчек: https://pastebin.com/7yv0PbsW
Впрочем, никто не заставляет.
No. 18077    
>>18076
Аще, эти «цыфоры.расширение» не несут никакой функциональности. Можно сократить до «расширение».
No. 18090    
Есть мысль добавить количество новых постов на досках в меню. Для этого нужно будет добавить небольшой php-скрипт и дополнить kusaba.js. Код, разумеется, с меня. Профит в виде оживления тематики.
Ну как, писать?
No. 18091    
151303756588.png-(406.92KB, 463×617, 1512057457836.png)
18091
>>18090
Это для фрейма, который вообще не нужен как технология?
Не буду это приделывать.
В перспективе надо делать нормальную главную без фреймов по умолчанию (но сам фрейм оставить для тех, кто им пользуется).

>>18077
Я планирую сделать как на «4чане», но без дурацкой надписи «Файл», которую я у нас отпилил не так давно.
No. 18092    
>>18091
Это не для фрейма, а для админбара сверху.
No. 18094    
151306160162.png-(2.38KB, 404×53, 151304664355.png)
18094
>>18092
Вот так это выглядит.
В корень сайта (где kusaba.php, board.php и все остальное) добавляется скрипт с названием "stats.php": https://pastebin.com/68FAyDda
В kusaba.js в конец window.onload добавляется следующий код: https://pastebin.com/z0Tex7bS
Работает как положено: смотрит самый большой id поста на всех бордах и сравнивает с сохраненными в localStoreage цифрами. При заходе в тред или на доску значение для текущей доски обновляется, и счетчик обнуляется. Отрицательных и нулевых значений не видно. При первом заходе после чистки хранилища браузера ничего не отображается. Цифры в спанах с соответствующим классом и их можно стилизовать в css, а при желании легко убрать через display: none.
No. 18099    
151309264844.png-(1.06MB, 1280×720, OP2-Uiharu.png)
18099
>>18094
Очень сомнительное дизайнерское решение.
И нужно ли вообще показывать точное количество написанных сообщений?

Алсо, у нас уже есть RSS.
No. 18104    
>>18099
RSS умер как стандарт и никому не нужен как те же фреймы это раз. Точное количество можно и не указывать это два. Достаточно поменять одну строчку в скрипте или через CSS скрыть текст и заменить значком. Хотя кому это может помешать непонятно. Почему-то над иконкой почты пишется количество новых сообщений, а не флажок "новые письма", и это считается нормой. Даже адблок пишет сколько скриптов заблокировано, хотя казалось бы, это совсем бесполезная информация. Или же это так важно скрыть наличие удаленных постов.
Психологически этот плюсик создает незавершенное действие, у пользователя не возникнет ощущение, что "вот, я проскроллил весь Автобус", пока все плюсы не будут убраны. Следовательно, на тематические доски будут заходить по мере появления на них новых сообщений, а не когда пользователь вспомнит об их существовании и без особой надежды начнет прокликивать все подряд. У постящего в тематике так же будет уверенность, что его пост прочитают тогда, когда кто-то зайдет на 410чан неважно в какой раздел, а не тогда, когда кто-то промахнется мышкой мимо /b/. Как следствие, на тематических досках будут охотнее создавать треды.
No. 18105    
151310943190.png-(323.49KB, 1120×698, 8675849.png)
18105
Кстати, напомните мне, что там надо было убрать, чтобы куклоподелие не ругалось?

>>18104
Потому-то это и плохое десигнерское решение, что циферки хорошо работают в сочетании со значками, а не ссылками.
No. 18106    
151312326915.jpg-(3.60KB, 295×33, 2017-12-13 02_56_50.jpg)
18106
>>18105
Чому? Всякие социалки вполне с текстом сочетают. Прямоугольные скобки как выделение элемента больше колхозом отдають, например.
другой дизигнер
No. 18107    
151312542460.jpg-(36.78KB, 947×720, 1266689205881.jpg)
18107
>>18106
>Чому?
Потому что вы ничего не понимаете в десигне.
Если бы вы хоть что-то понимали в десигне, вы бы осознавали, что соцсети сознательно проектируют свои меню под такие штуки. Вы же предлагаете вырвиглазное нечто, которое в типичной ситуации произвольно меняет ширину меню (это уже плохо), а при больших количествах досок и непрочитанных сообщений превращается в полный трэшак.
Про квадратные скобки я даже комментировать не хочу. Займитесь лучше лепкой супов.
No. 18108    
151312904447.jpg-(106.56KB, 1366×694, 2017-12-13 04_29_48.jpg)
18108
>>18107
А мог бы вже псевдофрейм нормальный зделоть. Может лучше всякого велосипеда был бы, добрее стал бы. И можно ж ограничить максимальное количество отображаемое в счётчике (9000, например, после чего показывать >9000).
А аще, сверху нужен не тупые ссылки на доски, а нящный списочек.
Про скобачки всё же скажи. Вот где они сейчас используются окромя какашек времён палеолита и отдельных интерфейсов для текстовых бровзеров? Я конечно люблю поскроллить инторнеты через Links какой, но всё же.
No. 18109    
151313133510.png-(335.71KB, 1152×632, 12345691.png)
18109
>>18108
Десигн не про то, чтобы наклепать всякой хѣрни. Десигн про то, чтобы получить результат, исходя из доступных ресурсов и ограничений.
Хотите верстать соцсети, идите и верстайте соцсети. При чём тут я? Я тут ни при чём.
У нас есть очень консервативная публика и очень консервативные интерфейсы. В том числе с этими ненужными квадратными скобочками на всех чанах. Уже больше десяти лет. У людей даже от мелочей зловещая долина каждый раз.
Я вынужден исходить из этой ситуации. Нетрудно заметить, что меня интересует в первую очередь доработка существующих функций, а не добавление новых. Я ценю инициативу >>18094-куна, но пока я это прикручивать не готов.
No. 18110    
>>18109
Я-то ни в чём и не упрекаю, лол. Почему так сурьёзно относисшься к тыканьям палочкой? Бу-бу-бу~
Ежели сурьёзно говорить про функционал уведомления о новых репликах, то достаточно скрыть цыфоры и заменить на махонькой плюсик в кружочке справа над ссылкою в доску, главное не делать ёго сильно выделяющимся цветом, щоб не цеплялся нарошно за взгляд пользователя при елощеньи глазами по экрану и не напрягал пассажира, вынуждая зайти на доску, дабы лишь бы избавиться от этого надоедливого плюсика, али же просто сделать функционал визуально отключаемым. Цыфоры же могут пригодиться ля мобильных приложеньев, а то и мобильной вёрстки. Можно, конечно, облегчить на корню функционал, проверяя только факт изменения крайнего номера сообщенья на доске, однако сё же ящитаю лучше дать возможность воспользоваться функционалом тем пользователям, которым он может действительно понадобиться.
No. 18111    
>>18105
Нужно закомментировать строчку alert(req.statusText);, что находится внутри функции handle() в скрипте в <head>.
Еще неплохо бы перенести строку <!-- Yandex.Metrika counter --> из <head> в самый конец <body>, после {$page} в шаблоне.
No. 18112    
151314454020.png-(10.47KB, 1349×33, Screenshot-2017-12-13 Разработка.png)
18112
>>18106
Вот еще пример десигна. Та же верстка, другой css.
No. 18113    
>>18112
Об этом и говорил. Хотя метку лучше сделать, например, #F9E0A8, шоб не аттрактила на себя внимание постоянно и не довила на мосх.
No. 18115    
.thrdcntnr label input {

    display: none;
}

.thrdcntnr label input:checked + span::before {
    content: '✕';
    color: red;
    font-size: 12px;
    padding: 0 2px;
}

No. 18120    
>>18115
У меня более нящьные фловербоксы:
input[type="checkbox"] {width: 0;margin: 3px 17px 0 3px}

label > input[type="checkbox"][name="delete[]"] {margin: 3px 13px 0 3px}

input[type="checkbox"]:after {content: "❀";display: inline-block;font-size: 16px;line-height: 16px}

input[type="checkbox"]:checked:after {content: "✿"}

No. 18121    
>>18120
Не работает в Firefox. Компромиссный вариант:
.thrdcntnr label input {

  display: none;
}

.thrdcntnr label input + span::before {
  content: "❀";
  display: inline-block;
  font-size: 16px;
  line-height: 16px;
  padding: 0 2px;
  color:#800080;
  font-weight: normal;
}

.thrdcntnr label input:checked + span::before {
  content: "✿"
}

No. 18126    
151322746567.jpg-(143.77KB, 1280×753, Re Zero NTR.jpg)
18126
Когда в теме http://410chan.org/d/res/1433.html я навожусь в первой реплике на красную гиперссылку, ведущую к обсуждению в /b/, то она в Файерфоксе начинает то отпрыгивать от курсора мыши, то напрыгивать обратно под него.

По-видимому, всё дело тут в том только, что в этот момент функция «addreflinkpreview» (записанная в файле http://410chan.org/lib/javascript/kusaba.js со строки 507) начинает вставлять (строкою 523) перед гиперссылкою блочный элемент «previewdiv», созданный ею ранее (в строке 510) с классом «reflinkpreview», и тем самым создаёт перевод строки перед гиперссылкою — та отпрыгивает на следующую строку, но затем функция «delreflinkpreview» (записанная со строки 537) убирает блочный элемент и начинает всё с начала.

Выглядит это неприятно и оттого не может быть терпимо.

Предлагаю напилить в файле http://410chan.org/css/txt_global.css такой аналогичный имеющемуся в файле http://410chan.org/css/img_global.css стиль для класса «reflinkpreview», который бы позиционировал этот блок абсолютным позиционированием (чтобы блок не создавал переноса строки в существующем течении прозы):
.reflinkpreview { position: absolute; padding: 5px; background-color: #F0E0D6; border: 1px dotted #000000; }

No. 18136    
151325727940.png-(148.07KB, 1294×558, щщщ.png)
18136
А зачем эта полупрозрачная обводка содержимого поста, который разворачивается по ссылке? Не знаю, всегда ли так было, только сейчас обратил внимание.
No. 18137    
15132573465.png-(108.94KB, 1144×654, 2221.png)
18137
Полистал другие дефолтные стили, такая обводка только в умночане. Зато в блюмуне ещё лучше, там края поста солидной толщины становятся цвета умночна при тех же действия.
No. 18138    
>>18136
Енто от .пост остатки. В >>18065 исправлено. Токмо в адблок внеси 410chan.org/css/img_global.css и 410chan.org/css/umnochan.css.
No. 18146    
Занимаясь полным перепиливанием kusaba.js, возник вопрос: а нужны ли горячие клавиши? Кто-нибудь знал, что такая функция вообще есть? Может просто удалить этот код.
No. 18148    
151330668250.jpg-(46.54KB, 750×655, 1259535322602.jpg)
18148
>>18146
Зачем выпиливать? Это же концептуально. Был бы манул по ним, я бы их в FAQ внёс.

>>18136
>>18137
Всё время забываю исправить.
No. 18157    
>>18148
Ненужно. Там из функций переход по страницам и скролл по тредам на странице. Первое есть в самих браузерах через Ctrl+стрелки влево/вправо, а прокрутка и через PageUp/PageDown сойдет.
No. 18158    
151336215955.png-(2.53MB, 1920×1080, Sakurasou no Pet na Kanojo - Rita breakdown.png)
18158
>>18157

> Первое есть в самих браузерах через Ctrl+стрелки влево/вправо

Какъ это?

Въ Файерфоксѣ, насколько я понимаю, нѣтъ этого.
No. 18162    
>>18158
>Въ Файерфоксѣ
Так говорят же: в браузерах.
No. 18165    
>>18162
Огласите весь список, пожалуйста.
хромог
No. 18167    
>>18158
Opera до 12 умела из коробки переходить на следующую страницу по нажатию пробела в конце страницы. В Firefox то же делает дополнение https://addons.mozilla.org/ru/firefox/addon/find-next-page/
No. 18169    
https://pastebin.com/PPNRLimQ
Вот патч для исправления кнопок перехода по страницам. Сейчас там какая-то ересь через формы, будет же нормальные семантичные ссылки, говорящие браузеру, есть ли следующая/предыдущая страница для перехода или нет.
Хоткеи в текущей кусабе следующие:
alt+], alt+' - скролл тредам выше и ниже соответственно.
alt+[, alt+; - переход по страницам предыдущая/следущая
alt+p - скролл до формы ввода сообщения
Все это работает только в английской раскладке, переключение страниц имеет баг, из-за которого можно выйти на 404, так как он тупо инкрементирует номер страницы и не смотрит, есть она или нет.
Данный патч позволит избежать такой ситуации с новой kusaba.js
Так как input'ы заменены на ссылки, нужно будет в css подправить их стили и довести до прежнего вида.
kusaba.js переписана на JQuery, скрытые треды и избранные нити теперь хранятся в localStorage. Для избранных нитей будет требоваться вместо threadwatch.php закинуть другой скрипт, а threadwatch.php желательно удалить, так как дыра. Хотя все почти готово, я повременю с публикацией, пока текущие правки в этом треде не будут выкачены в продакшн.
No. 18170    
>>18169
Кстате, чтоб велосипеды лишний раз не изобретать, можешь взглянуть на Инстант, который умудрился какой-то хороший человек спасти от удаления оригинальной репы, да позаимствовать оттуда чего. Там многое с пыха на жс было перенесено.
https://github.com/devarped/instant-0chan
No. 18171    
151344230668.jpg-(94.56KB, 800×594, DO WANT.jpg)
18171
>>18169

> kusaba.js переписана на jQuery
No. 18172    
151344301374.png-(385.72KB, 1066×592, 12345684.png)
18172
>>18169
>JQuery
И сразу же отказ. Если переделывать, то все внешние библиотеки надо наоборот слать к чертям, а не разводить bloatware тут мне.

>>18075
Стало быть, отредактировал я сначала просто pages.php. Этот самый <div class="threadlinks"> в итоге образовался как у верхних, так и нижних ссылок. Нижние, соответственно, оказались сунуты в два <div>, что уже довольно сомнительное решение. Но это, видимо, ожидалось.
Но главное, что оно каким-то образом уничтожило закрывающий </div> у thrdcntnr, хотя я вообще не трогал board-post.class.php.
Надо заметить, что thrdcntnr в «Кусабе» нет, и предложенные правки board-post.class.php вообще смутно соотносятся с актуальной версией.

>>18071
Сделано.
No. 18175    
151345167543.png-(1.97MB, 1920×1080, Suzumiya Haruhi no Yuuutsu - a celestial.png)
18175
>>18172

> jQuery

> И сразу же отказ. Если переделывать, то все внешние библиотеки надо наоборот слать к чертям, а не разводить bloatware тут мне.

А если не переделывать, то продолжать использовать http://410chan.org/lib/javascript/protoaculous-compressed.js (148 270 байтов) вместо https://code.jquery.com/jquery-3.2.1.min.js (86 659 байтов)? Эта альтернатива выглядит как-то неуютно.

Как мнѣ кажется, скрипт-кун принёс нам избавленье от 42% объёма имеющегося bloatware, этому надо только порадоваться, а не отмахиваться дубиной с надписью «всё или ничего».

Более того, есть ведь ещё и следующий возможный шаг — возможность понадеяться (и небезосновательно) на наличие jQuery в кэше конечного пользователя (ввиду популярности jQuery), а от возможной опасности злонамеренного вмешательства внешнего сервера (CDN) в код jQuery надёжно оборониться через разъяснённый по адресу https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity атрибут контроля целостности:

<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>

No. 18178    
>>18172
jQuery подразумевается пихать локально на место на место protoaculous.js, а не качать с cdn.
И если jQuery bloatware, то почему Яндекс.Метрика это ок?
No. 18180    
15134582966.png-(2.56MB, 1920×1080, Kore wa Zombie Desu ka of the Dead - crepe.png)
18180
>>18178

Если качать с CDN, то вместо 84,63 килобайта достаточно скачать 34,3 килобайта, потому что на CDN code.jquery.com работает сжатие gzip (а на 410чанѣ — нѣтъ).
No. 18182    
151346326334.jpg-(92.92KB, 1280×720, 1375982666710.jpg)
18182
>>18178
>почему Яндекс.Метрика это ок?
Потому что это не часть движка, а конкретный внешний инструмент, используемый администрацией. Он может исчезнуть в любой момент без особенных проблем.
И людям её никто блокировать самостоятельно не мешает.

Движок содержит минимум функций, которые бы требовали некие скрипты. Поэтому нет никакого смысла ради полутора функций совать большие внешние библиотеки с кучей ненужной хѣрни вместо того, чтобы оставить только нужное. Это классический пример bloatware в веб-разработке. Работа должна идти именно в направлении оптимизации, когда скрипты делают ровно то, что они должны делать.
Следует уважать пользователей, а не спихивать всю неоправданную нагрузку на них. Если не мы (классические имиджборды, сохраняющие минимализм в интерфейсах), то кот, в конце концов?

Никакие CDN мы вообще не рассматриваем, это должно быть самоочевидно любому вменяемому человеку.
No. 18183    
Совас, сделай уже .thrdcntnr на скрытых тхредах.
No. 18184    
151346841990.png-(4.69MB, 1920×1080, Boku wa Tomodachi ga Sukunai NEXT - awesome smile.png)
18184
>>18182

> Никакие CDN мы вообще не рассматриваем, это должно быть самоочевидно любому вменяемому человеку.

Предположим, что я невменяемый или вообще не человек. Какими аргументами, кроме ad hominem, может быть подкреплён в этом случае категорический отказ от CDN? Какой из этих аргументов может считаться непреоборимо весомым?
No. 18185    
151346911942.png-(2.43MB, 1920×1080, Kono Subarashii Sekai ni Shukufuku wo! - Aqua spel.png)
18185
>>18182

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

Работа идёт в направлении оптимизации так хорошо, что объём скриптов, делающих не ровно то, что они должны делать, успел сократиться на 42% относительно простым способом (заменою protoaculous на jQuery).
No. 18186    
>>18184
>Какой из этих аргументов может считаться непреоборимо весомым?
Такой, что администрация не будет это прикручивать.
No. 18187    
>>18182
Это пример предрассудков, навязанных расхожими анекдотами, но не подкрепленных фактами. Сразу включается клиповое мышление "ангуляр реакт плагины для скроллбаров гроб гроб кладбище", как у людей, для которых убрали слово "ядерное" из магнитно-резонансной томографии.
В вашей "классической" кусабе не постеснялись впихнуть мутный protoaculous, а использование проверенного инструмента, являющегося стандартом де-факто внезапно абсолютный харам.
> jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
Почему-то тут не видно слов "большая внешняя библиотека с кучей ненужной хѣрни и неоправданной нагрузкой на процессор". Поддержка браузеров достаточно нужная херня, как по мне.
No. 18188    
151347151344.png-(62.55KB, 571×464, xkcd - is it worth the time.png)
18188
>>18182

> Следует уважать пользователей, а не спихивать всю неоправданную нагрузку на них.

Скачивание gzip-упакованного скрипта https://code.jquery.com/jquery-3.2.1.min.js (объёмом 34,3 килобайта) занимает примерно 349 миллисекунд на среднем ростелекомовском канале в российской провинции, после чего скрипт попадает в кэш.

Внимание, вопрос (комиксом https://xkcd.com/1205/ вдохновлённый): сколько новых пользователей (ещё не имеющих jQuery в кэше) должно зайти на 410чан, чтобы совокупная неоправданная нагрузка на пользователей превзошла хотя бы пятую долю неоправданных расходов времени веборазработчика, вынужденного действовать посредством громоздких конструкций наподобие «document.getElementsByTagName("td")» (реальный пример из нынешней версии файла http://410chan.org/lib/javascript/kusaba.js на строке 145) вместо экономичных jQuerийных конструкций наподобие «$("td")» (полный аналог вышеизложенного примера)? За какое время (согласно имеющимся у администрации данным Яндекс.Метрики) такое количество новых пользователей заходит на 410чан?

В ответе рекомендую учесть следующие обстоятельства:

1) Некоторые (не многие) новые пользователи имеют jQuery в кэше со времени посещения других сайтов, пользующихся тем же CDN.

2) Некоторые (не многие) прежние пользователи не имеют jQuery в кэше, потому что почистили кэш.

3) Расходы времени программиста включают в себя, разумеется, не только необходимость набирать длинные конструкции (например, «document.getElementsByTagName» вместо «$») в коде, но и необходимость вникать в эту запись всякий раз при чтении кода. И готовых конструкций таких в коде http://410chan.org/lib/javascript/kusaba.js изрядно много: семь «getElementsByTagName», сорок два «getElementById», четырнадцать «getAttribute», двадцать четыре «innerHTML».
No. 18189    
Я ще добавлю со своей колокольни, що Кусаба де-факто жырное добро.
No. 18190    
>>18188
jQuery не столько синтаксический сахар в виде $(), сколько слой совместимости со старыми браузерами. Своими силами невозможно впилить и протестировать столько функций в стольких версиях браузеров и учесть все их баги. В kusaba.js это видно из комментариев // IE needs to die и // now Opera safe, то есть автор изрядно заколебался, и даже в таком виде эти костыли мало что покрывают.
И претензии были не столько в весе кода, а в нагрузке на процессор, впрочем так же притянутые за уши.
No. 18191    
151347331273.png-(1.78MB, 1280×720, Shichimiya koisuru otome.png)
18191
>>18189

С жирностию кода всея Кусабы станем разбираться только после открытия кода Flower Bus Engine, в настоящее время закрытого.

Пока разбираемся с жирностию джаваскриптов ея.
No. 18192    
151347365679.jpg-(106.06KB, 956×720, 1257111249605.jpg)
18192
>>18187
>Почему-то тут не видно слов "большая внешняя библиотека с кучей ненужной хѣрни и неоправданной нагрузкой на процессор".
Я тоже могу всякой лабуды понаписать о том, какой я великий и какие мои поделки крутые, но разве это аргумент?
У меня в движке десяток функций, за каким хѣром нужна библиотека на сотни нахѣръ не нужных мне тут функций? А потом ещё как-то контролировать, чтобы там левые баги и уязвимости в этой ненужной мне хѣрне не затронули нужную хѣрню. Кто поддержкой будет заниматься? Уж точно не вы и не автор флудных простыней по соседству.
>В вашей "классической" кусабе не постеснялись впихнуть мутный protoaculous
Я не разрабатывал эту «Кусабу» и ничего в неё не совал. Я не считаю её идеальным движком. Эта нить буквально о доработке движка. С кем и о чём вы ведёте полемику, мне непонятно. Прежде чем умничать за клиповое мышление, следует избавиться от него самому.
Я вполне поддерживаю выпил «protoaculous» из движка, но не в пользу концептуально аналогичной хѣрни, но просто более модной.
Вот на Ычане смогли сделать нормальные скрипты только с нужной для работы Ычана функциональностью, а мне зачем-то суют какую-то левую дрянь. Вы там совсем код разучились писать под конкретную задачу?
No. 18193    
Карочи, суньте жикюьрь внутрь Кусаба.жс и банка угомонится. В идеале оставить токмо используемые в коде из жикьюри функции.
No. 18194    
>>18192
> Я тоже могу всякой лабуды понаписать о том, какой я великий и какие мои поделки крутые, но разве это аргумент?
Аргумент это "я хорошо знаком сабжем и могу объективно оценить правдивость данного утверждения". "jQuery херня, я так сказал" настолько же аргумент, насколько "какой я великий".
> за каким хѣром нужна библиотека на сотни нахѣръ не нужных мне тут функций?
Огласите весь список, пожалуйста.
> Вот на Ычане смогли сделать нормальные скрипты только с нужной для работы Ычана функциональностью
Ни в какое сравнение не идет. Тут куча ajax-запросов и редактирование html на лету. Там ради простоты пожертвовали поддержкой всех браузеров старее 2016.
No. 18195    
151347500756.png-(2.45MB, 1920×1080, Re Creators.png)
18195
>>18190

> jQuery не столько синтаксический сахар в виде $(), сколько слой совместимости со старыми браузерами.

Моё мнение диаметрально противоположно: движок jQuery более полезен синтаксическим сахаром, нежели слоем совместимости со старыми браузерами.

Польза синтаксического сахара — экономия времени разработчика, вполне измеримая тем способом, который я предложил в реплике >>18188 (считаем количество методов, запись которых упрощается или вообще схлопывается в «$», затем прикидываем, сколько разработчик тратит на каждый, затем перемножаем).

Совместимость со старыми браузерами в современных версиях jQuery (в версии 3.0, которую блогозапись http://blog.jquery.com/2016/06/09/jquery-3-0-final-released/ называет вышедшею 9 июня 2016 г., и во всех более новых версиях), согласно приведённому по адресу https://jquery.com/upgrade-guide/3.0/#browser-support списку, исчерпывается следующими версиями:

  • Internet Explorer 9 и новее,
  • Chrome, Edge, Firefox, Safari нынешней и предшествующей версии,
  • Opera нынешней версии,
  • Safari Mobile iOS 7 и новее,
  • Браузер Android 4.0 и новее.
С одной стороны, это очень верно и правильно: Chrome и Edge и Firefox и Safari обновляются, Opera основана на Chromium, а пользователя Internet Explorer версии 8 и более ранних ждут в Интернете проблемы более мрачные, чем неработоспособность некоторых сайтов.

С другой стороны, это означает, что слой совместимости в нынешних версиях jQuery не надо оценивать слишком значительно. Сразу несколько «костылей» в коде http://410chan.org/lib/javascript/kusaba.js не годятся в качестве предмета для сравнения с jQuery и как аргумент в пользу якобы значительной толщины слоя совместимости в jQuery, потому что в действительности свидетельствуют о противоположном: они подпирают проблемы тех браузеров, на которых создатели jQuery с середины прошлого года решили положить (и правильно сделали, но сейчас я не о том).

В частности, первый же в коде http://410chan.org/lib/javascript/kusaba.js «костыль» подпирает, как нетрудно видеть, случай отсутствия метода «indexOf» в объектной модели массива; однако по адресу https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf#Browser_compatibility пишут, что этой бедой в основном страдал только Internet Explorer версии 8 и более ранних (Firefox от неё быстро излечился: на десктопах — к версии 1.5, а в Android — к версии 4).
No. 18196    
15134762906.png-(557.69KB, 1091×631, 12345680.png)
18196
>>18194
Я где-то говорил, что мне нужна поддержка протухших браузеров?
От протухших браузеров нужно только одно: чтобы постинг работал. Никто не пользуется протухшими браузерами всё равно.
No. 18197    
151347667420.png-(3.01MB, 1920×1080, Boku wa Tomodachi ga Sukunai NEXT - awesome smile.png)
18197
>>18192

> У меня в движке десяток функций

Ну вот уж не десяток, а без малого сороковник.

Открываем http://410chan.org/lib/javascript/kusaba.js и начинаем подсчёт:

1) Utf8.encode

2) Utf8.decode

3) replaceAll

4) insert

5) quote

6) checkhighlight

7) highlight

8) get_password

9) togglePassword

10) toggleMod

11) toggleOptions

12) getCookie

13) set_cookie

14) set_stylesheet

15) set_preferred_stylesheet

16) get_active_stylesheet

17) get_preferred_stylesheet

18) togglethread

19) toggleblotter

20) expandthread

21) quickreply

22) getwatchedthreads

23) addtowatchedthreads

24) removefromwatchedthreads

25) hidewatchedthreads

26) showwatchedthreads

27) checkcaptcha

28) expandimg

29) postpreview

30) set_inputs

31) set_delpass

32) addreflinkpreview

33) delreflinkpreview

34) addpreviewevents

35) keypress

36) resizeMaster

Для сравнения сразу скажу, что https://iichan.hk/wakaba3.js насчитывает десятка полтора, притом несколько более простых (ни один не пользуется AJAX, например). Это реплика к аргументу «на Ычане смогли».
No. 18198    
151347869032.jpg-(0.96MB, 1920×1080, Amagami SS - nani ga byo.jpg)
18198
>>18192

> А потом ещё как-то контролировать, чтобы там левые баги и уязвимости в этой ненужной мне хѣрне не затронули нужную хѣрню. Кто поддержкой будет заниматься? Уж точно не вы и не автор флудных простыней по соседству.

Это должно быть самоочевидно любому вменяемому человеку: вот в этой нити на 410чанѣ будет время от времени появляться веборазработчик со словами: вышла новая версия jQuery http://blog.jquery.com/2017/03/20/jquery-3-2-1-now-available/ с исправлением хѣрни https://github.com/jquery/jquery/issues/3571 (допустим, нужной) и поэтому надо обновиться.

Или: после последнего обновления перестала работать такая-то нужная хѣрня, а в прошлой версии — работала; надо откатиться.

И будет сие до тех пор, пока /dev/ не оскудеет веборазработчиками.

Уязвимостей же в jQuery никаких нет, сотни глаз https://github.com/jquery/jquery/graphs/contributors вглядываются в код ея пристально.
No. 18200    
151347947457.jpg-(4.70MB, 3800×2480, Kono Subarashii Sekai ni Shukufuku wo! - Yunyun.jpg)
18200
Прибавлю, что следование стандарту https://semver.org/ вообще-то гарантирует обратную совместимость в том смысле, что код, сочинённый поверх нынешней третьей версии jQuery, должен работать во всех третьих, то есть до появления четвёртой версии (это в норме, то есть если случайно что-нибудь не сломают — а если сломают, то поправить непременно соберутся).
No. 18201    
151348937276.png-(3.96MB, 1920×1080, Boku wa Tomodachi ga Sukunai NEXT - сочувст.png)
18201
>>18190

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

У меня такое впечатление, что я пропустил ту реплику, в которой была впервые высказана претензия к нагрузке на процессор.

Каков её номер?
No. 18202    
151348980935.png-(401.02KB, 640×480, School Rumble.png)
18202
При пристальном вглядывании я заметил, что в реплике >>18200 высказался не вполне однозначно.

Чтобы не было разночтений, поясняю: следование стандарту Semantic Versioning — это обещание, которое было дано в одной из блогозаписей у разработчиков jQuery, и дано оно было по отношению к тому, как будут нумероваться следующие версии jQuery. В известной мере по нему можно догадываться и о том, как будут вообще развиваться следующие версии (ну, например, новые возможности будут появляться чаще, а несовместимые изменения — реже).

Авторов же джаваскрипта 410чана это обещание никак не связывает, а просто позволяет с большей уверенностью смотреть в будущее jQuery.
Удалить сообщение []
Пароль  
[Mod]