Плагин «Аудиозаписи лайт (Audio records light version)», обновление


В новой версии 2.0.0, которая будет доступна после модерации плагина:

  • улучшена информативность в случае ошибки загрузки файла со стороны сервера (теперь будет указано точное описание ошибки вместо «ошибка загрузки»)
  • улучшена совместимость с мобильным шаблоном
  • рефакторинг кода (улучшена структура плагина)
  • улучшена совместимость с другими плагинами
  • увеличена скорость работы


ОПИСАНИЕ


Аудиозаписи — простой аудио плеер, работающий на технологии flash. Позволяет загружать в топики, комментарии и личные сообщения mp3 файлы и при публикации выводит аудио плееры для них. Также добавляет аудио плееры в топики с загруженными mp3 файлами через плагин Attachments (http://livestreetcms.com/addons/view/79/) и/или если в тексте топиков есть ссылки (!) на аудио файлы формата mp3.

РЕЗЮМЕ


Плагин доступен в каталоге. Стоимость 260руб.

38 комментариев

avatar
При парсинге ссылки текст топика переписывается? Или только сама ссылка?
avatar
1. Если в тексте есть ссылка или загруженные аудиофайлы через плагин Attachments — плеер будет добавлен в начало топика
2. Если же аудио загружено через сам плагин «Аудиозаписи лайт (Audio records light version)» (он тоже умеет загружать аудио), то будет вставлен специальный тег < mp3 /> в нужном месте текста и там будут показываться плееры т.е на месте этого тега.
avatar
        $ ('#content .topic .text').each (function (i, o) {
          ...
          $ (o).html ($ (o).html ().replace (sPattern, ...

Такой код приводил к несовместимости. Текст топика било.
avatar
конкретнее, пожалуйста?
avatar
Ваш плагин берет полностью текст топика и начинает в нем искать тег. Пока он его ищет (а его там может не быть) другим плагинам надо тоже обработать теги в тексте. Потом Ваш плагин завершает замену и возвращает обратно тот исходный текст с обработаными мп3 тегами. Но! Все, что правили другии плагины понятно нет.
avatar
ничего подобного. если плагин обработал текст, то остальные берут обработанный и далее делают нужные конвертации с ним
avatar
Ваш плагин берет полностью текст топика и начинает в нем искать тег. Пока он его ищет (а его там может не быть) другим плагинам надо тоже обработать теги в тексте.
Расскажите, как все плагины делают это паралельно т.е. одновременно?
avatar
Согласен с sersar .
Также убивает все обработчики, повешенные на старый html, который вы удаляете, затем вставляя его новую версию.
avatar
вешайте on обработчики
avatar
Я вешаю все обработчики через on, например
$ActivityCheckbox.on('change', onActivityCheckboxClick);

Вы скорее предлагаете вешать live-подобный обработчик (вешается через on, с другими аргументами) на элемент вне текста топика, и это костыльное решение, хотя бы потому, что работает только на события, которые всплывают по dom, то есть нельзя использовать следующие события: blur, focus, mouseenter, mouseleave, change и submit. Также не удобный указатель this внутри обработчика, ну и я не буду говорить про отвратительную скорость его работы.

При всем уважении, почему Вы упираетесь? Ваше решение мало того, что не эффективно, так еще и откровенно костыльно, вы удаляете огромную часть кода, а потом вставляете ее обратно, причем зачастую эта часть остается неизмененной. Кроме того у Вас это вроде реализовано как inline js, причем достаточно много кода зашито прямо в html, а это сильно увеличивает время обработки страницы браузером.

У вашего подхода откровенные минусы, которые, я уверен, вы видите и сами, это:
— Само по себе медленное решение
— Увеличивает время обработки страницы браузером так как inline
— Не совместимо с другими плагинами
— Невозможно поддерживать и дорабатывать

Отвечу сразу на вопрос, возникший у вас, откуда я видел Ваш код — мой клиент пожаловался на несовместимость моего плагина «Мероприятия» и Вашего, затем он прислал мне Ваш плагин, который я продебажил и нашел причину. Сразу скажу что плагина у меня больше нет и я нигде его не использую.
avatar
Совершенно верно коллега emmy :-) Спасибо за поддержку :-) Тоже исправлял клиенту совместимость с плагином «Мероприятия». Автор отказывается видеть проблему.
avatar
над частью замечаний я подумаю, а вот часть замечаний — ну совсем уже:
Кроме того у Вас это вроде реализовано как inline js, причем достаточно много кода зашито прямо в html, а это сильно увеличивает время обработки страницы браузером.
не выдумывайте.
что ваши мероприятия делают с текстом такого?
avatar
что ваши мероприятия делают с текстом такого?
С текстом не делают ничего, только вешают несколько обработчиков на элементы внутри топика.

не выдумывайте.
Я не выдумываю. К сожалению, плагина у меня нет, поэтому указать на такие места технически не могу.
avatar
Никто не придумывает, ради конкретного кода решил поискать по истории своей почты и нашел в переписке файлик, который я прислал клиенту, чтобы он его заменил в вашем плагине.
Вот его код:
  <!-- Audiorecordslight plugin -->
  <div id="ARL_AudioPlace{$oTopic->getId()}"></div>
  <script>
    jQuery (document).ready (function ($) {
      (function () {
        //
        // For attached files and for links in topics
        //
        var ARL_AudioBlock{$oTopic->getId()} = $ ('<div />', {
          'class': 'AudioPlayersLightContainer',
          'html':
            '{assign var="oMP3s" value=$oTopic->getMP3FilesARL()}' +
            '{if $oMP3s}' +
              '{foreach from=$oMP3s item=oMP3}' +
                '<div class="OneAudioPlayerLight">' +
                  '<object width="{$oConfig-><param name="wmode" value="opaque"></param><param name="wmode" value="opaque"></param>GetValue("plugin.audiorecordslight.Flash_Player_Width")}" height="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Height")}" align="middle">' +
                  '<param name="movie" value="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Filename")}"></param>' +
                  '<param name="allowScriptAccess" value="always"></param>' +
                  '' +
                  '<param name="quality" value="best"></param>' +
                  '<param name="flashvars" value="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Flashvars_AudioParam")}={$oMP3}"></param>' +
                  '<embed src="{$oConfig-></embed></embed>GetValue("plugin.audiorecordslight.Flash_Player_Filename")}" width="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Width")}" height="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Height")}" menu="false" quality="best" align="middle" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Flashvars_AudioParam")}={$oMP3}" wmode="transparent"></embed>' +
                  '</object>' +
                '</div>' +
              '{/foreach}' +
            '{/if}'
        });

        var ARL_Place{$oTopic->getId()} = $ ('#ARL_AudioPlace{$oTopic->getId()}').closest ('.topic').children ('div.topic-content');

        if (ARL_Place{$oTopic->getId()} != null) {
          ARL_Place{$oTopic->getId()}.before (ARL_AudioBlock{$oTopic->getId()});
        } else {
          ls.msg.error ('{$aLang.plugin.audiorecordslight.wrong_document_structure}');
        }

        //
        // For mp3 tags in topics text
        //
        $ ('#content .topic .text').each (function (i, o) {
          sPattern = new RegExp ('<' + ARL_Tag_Name + ' [^>]*src=["\'](.*?)["\'][^>]*></' + ARL_Tag_Name + '>', 'gi');
          $ (o).html ($ (o).html ().replace (sPattern,
            '<object width="{$oConfig-><param name="wmode" value="opaque"></param><param name="wmode" value="opaque"></param>GetValue("plugin.audiorecordslight.Flash_Player_Width")}" height="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Height")}" align="middle">' +
            '<param name="movie" value="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Filename")}"></param>' +
            '<param name="allowScriptAccess" value="always"></param>' +
            '' +
            '<param name="quality" value="best"></param>' +
            '<param name="flashvars" value="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Flashvars_AudioParam")}=$1"></param>' +
            '<embed src="{$oConfig-></embed></embed>GetValue("plugin.audiorecordslight.Flash_Player_Filename")}" width="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Width")}" height="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Height")}" menu="false" quality="best" align="middle" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="{$oConfig->GetValue("plugin.audiorecordslight.Flash_Player_Flashvars_AudioParam")}=$1" wmode="transparent"></embed>' +
            '</object>'
          ));
        });
      })();
    });
  </script>
  <!-- /Audiorecordslight plugin -->

И это не все, кроме этого кода был еще и другой. Что тут не так именно в коде?
— Этот код вставляется в каждый топик, что приводит к колоссальному оверхеду, страница гораздо больше весит, а это сказывается на скорости загрузки, и, кроме того, дольше рендерится браузером.
— Этот код сам по себе тяжелый, он парсит большие куски html и ищет совпадения.
— В одном файле смешан php, js, html, тут из пхп генерится js, потом на основе js генерится html — поддерживать это ну очень тяжело.

Не вижу, где же я тут придумал?
avatar
Что тут не так именно в коде?
не знаю, кроме того что это старый код

— Этот код вставляется в каждый топик, что приводит к колоссальному оверхеду, страница гораздо больше весит, а это сказывается на скорости загрузки, и, кроме того, дольше рендерится браузером.
пустой див? больше весит? по 10 байт на топик, итого 100 байт на страницу? в современных реалиях, когда страницы весят по пол-мегабайта?

обсуждать не имеет смысла т.к. это старая версия АЗ.
avatar
Пустой div? И только? Вы издеваетесь? script вы принципиально не замечаете?
~4 кб весит вышеприведенный код. Но по этому трудно судить, потому что такие конструкции {foreach from=$oMP3s item=oMP3} сделают его еще больше. Итого минимум 40кб оверхеда.
Пол мегабайта весят плохие страницы, даже главная mail.ru и то весит 200кб, если получить на ней оверхед в 20% по размеру страницы, то нагрузка на бекенд увеличится в несколько раз.
А также посмотрите — главная livestreet.ru весит 100кб. Ваш код сделает ее в 1.5 раза больше, во столько же раз уменьшится скорость обработки шаблона сервером, во столько же раз увеличится потребление памяти и время загрузки сайта.

Можно, конечно, плевать на все это и в конце концов прийти к 3 секундам на отдачу контента.

Эта версия была новейшей месяц назад — 15 сентября, не думаю что там координально что-то поменялось, учитывая ваш ответ на первый комментарий sersar .
avatar
вы многом заблуждаетесь, у меня вообще сомнения в вашей компетентности, поэтому прошу бессмысленный спор прекратить.
avatar
:) Остановите эту планету, я сойду.

Голословный, однако, комментарий. Впрочем, все понятно, вот вам несколько тем для размышлений — с каких же пор компетентность это:
1. Жестко смешивать логику трех разных языков в одном файле.
2. Добавлять на страницу одни и те же куски кода, в смысле выполняющие одинаковые действия, буквально 10 раз.
3. Парсить по регулярке на каждый запрос огромный объём данных, пусть даже и на клиенте.
4. Говорить, что даже тяжелый запрос к mysql с кучей join'ов будет не медленнее запроса к sphinx.
5. Пренебрегать очевидным перерасходом ресурсов.
avatar
1. не вижу жестокости
2. мое решение
3. если этого требует логика — это снова мое решение
4. ???
5. Это всего лишь ваше мнение, которое не совпадает с моим.
avatar
Голословный, однако, комментарий. Впрочем, все понятно, вот вам несколько тем для размышлений — с каких же пор компетентность это:
не голословный, а верный т.к. вы пытаетесь показать из себя специалиста, хотя таковым не являетесь:

весит не 4, а 2кб файл всего, вместе с конструкциями смарти, из которых будет вставлено в страницу 1-1.5 кб кода. при десяти топиках это будет прибавлено к странице 10-15кб кода. у вас совсем плохо с математикой? естественно, что когда добавляется функционал — растет объем страницы и 15 кб — это такой большой объем!

Ваш код сделает ее в 1.5 раза больше
в 1.15 раза.

во столько же раз уменьшится скорость обработки шаблона сервером, во столько же раз увеличится потребление памяти и время загрузки сайта.
у вас большой пробел в области знаний как работают шаблоны, в частности — смарти. бред пишите полный.
скорость не изменится, разве что на пару тысячных доли секунды в итоге, памяти нужно ещё для 15 кб кода? ой…

Можно, конечно, плевать на все это и в конце концов прийти к 3 секундам на отдачу контента.
расскажите мне про это: 15 кб отдавать 3 секунды.

тебе не стыдно писать такое и пытаться убедить меня в этом? ты веришь в это сам? или просто скучно, решил проявить смекалку, а вот не задача — не вышло? пишу «ты», потому что посмотрел на профиль. Коль знаешь ты руби, что же ты на пхп делаешь-то, человек?

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

вот именно потому, что вы перекрутили все для пущего драматизма я и написал, что вы не компетентны, а читая ваш последний топик был о вас более лучшего мнения, а вы как-то не очень себя показали в этой дискуссии.
avatar
Я заметил, что со зрением у вас большая беда, то после дива script не заметите, то inline js у себя не видите, то не замечаете проблему в смешении php, js и html.
Размер? Да уж, тут обойдусь без слов, опять видна ваша проблема со зрением, вот скриншот, не стал обводить размер текста, надеюсь увидите


расскажите мне про это: 15 кб отдавать 3 секунды.
Раз не понятно, разъясню про три секунды, — это было к тому, что не стоит вот так, как вы забивать везде на производительность, казалось бы, даже немного, в последствии это выльется в серьезный оверхед. Хотя один только ваш плагин на это забивает не немного, а очень даже прилично.

тебе не стыдно писать такое и пытаться убедить меня в этом?
Знаете, мне стыдно за Вас, совсем не за себя.

Коль знаешь ты руби, что же ты на пхп делаешь-то, человек?
PHP опять не входит в привилегированную касту? Или что?
Знаю руби и люблю LS, сейчас работаю над высоконагруженным проектом на php (~100 миллионов хитов в день). До этого был опыт и с ruby/ror и с другими проектами на php.
avatar
Я заметил, что со зрением у вас большая беда, то после дива script не заметите, то inline js у себя не видите, то не замечаете проблему в смешении php, js и html.
Размер? Да уж, тут обойдусь без слов, опять видна ваша проблема со зрением, вот скриншот, не стал обводить размер текста, надеюсь увидите
а вы внимательно читаете мои комментарии? предпоследний абзац комментария, на который вы отвечаете вас не смутил что вы ведете беседу о старой версии, а я новой?

PHP опять не входит в привилегированную касту? Или что?
говорят, что руби интересне и интелектуальнее пхп.
avatar
а вы внимательно читаете мои комментарии? предпоследний абзац комментария, на который вы отвечаете вас не смутил что вы ведете беседу о старой версии, а я новой?
Так беседа идет вокруг вашего плагина определенной версии и в этом нет ничего плохого, суть разговора не в том, что версия старая и не в том, что у той версии есть какие-то недостатки, единственное, из-за чего мы продолжаем говорить, это из-за вашего нежелания принять те факты что
— inline js увеличивает время рендера страницы
— большой размер html увеличивает нагрузку на сервер
— большой размер html также увеличивает загрузку страницы и это критично, особенно, если много медленных клиентов. В этом случае (если много медленных клиентов) небольшое, казалось бы, увеличение размера страницы может просто напросто положить сайт, потому что под каждого клиента, выделяется воркер, который будет ждать, пока этот клиент выкачает по своему медленному каналу весь сайт, чем больше размер отдаваемой странички, тем дольше воркер будет с ним работать, тем меньше он сможет обработать других клиентов и так далее. В ином случае, когда проблема медленных клиентов не стоит, просто не приятно ждать долгой загрузки, ну и можно упереться в канал, хотя отдавая текстовые страницы это врятли произойдет.

говорят, что руби интересне и интелектуальнее пхп.
Мне тоже больше нравится ruby и на нем приятнее писать, но это не отменяет того факта, что мне нравится работать с LiveStreet, причем тут плоская претензия «Че ж раз руби знаешь на похапэ пишешь?» я ума не приложу.
avatar
— inline js увеличивает время рендера страницы
— большой размер html увеличивает нагрузку на сервер
— большой размер html также увеличивает загрузку страницы и это критично, особенно, если много медленных клиентов.
это и так понятно. все зависит от количества и об этом я писал.

скажу лишь так:
данное решение выверено временем и я прекрасно понимаю что вы хотите предложить, но как раз это решение (которое не полностью идеально) дает наибольшую совместимость с разными шаблонами, коих в природе лс очень много. такое решение было принято не с бухты барахты.

ещё раз: вы правы касательно замены всего текста в топике — можно сделать иначе т.к. данный метод использовался по историческим причинам (плагин был создан во времена 0.4 версии движка) и сейчас есть все условия для его модернизации и этот момент я исправлю, спасибо за критику.
а в общих терминах — вы правы, но в конкретном данном случае вы перегибаете палку.
avatar
Не сказал бы, что перегибаю палку. Все таки при достижении заметной посещаемости, все эти проблемы вылезут и их придется решать. Конечно, большинство имеет почти не нагруженные сайты, поэтому не замечают последствий такого не оптимизированного решения. Но мы то с вами разработчики ;), поэтому видя такого рода код, мы же понимаем, что его можно существенно оптимизировать малой кровью и этим грех не воспользоваться.

Говоря о не совместимости с шаблонами, вы, как я понимаю, говорите про необходимость инициализации функционала вашего плагина после отложенной подгрузки самого кода топика. Да, можно использовать inline js, но не надо для этого вставлять в каждый топик 4 кб «одинакового» кода, сгенеренного шаблонизатором. Вы же и сами должны понимать, что можно обойтись, например, подобной конструкцией
<script>ls.audiorecords.initAudioInTopic({$oTopic->getId()});</script>
и это 70 байт счастья, примерно в 60 раз меньше, чем в вашем случае ;). И ls.audiorecords лежит в отдельном файлике и не генерится каждый раз сервером и он заранее ужимается и в последствии запрос к нему кешируется и поддерживать это легко — сразу будет понятно где что лежит.

Справедливости ради, хочу отметить что страничка, отдаваемая голым ls весит около 80кб, поэтому увеличение ее размера на 50% для нее будет критичным, с учетом того, что есть нагрузка. Может возникнуть ложная уверенность в том, что дополнительные 40кб (4кб*10топиков) это мало и можно не париться, но надо в таких случаях смотреть не на сам размер, а на его относительные изменения, которые велики.

И еще в том коде есть критичный момент, вы генерируете html со списком mp3, который будет вставлен не сразу, а который вставит уже js при выполнении, можно же сделать проще и сразу вставлять готовый html в топик. Еще вызывают вопросы, зачем именовать именно так локальные переменные
var ARL_AudioBlock{$oTopic->getId()}

Ну и почему html код аудиоплеера, не вынесен в отдельный js шаблон, раз уж вставляете его js-ом. Ну или хотя бы в партиал, если хотите также продолжать генерировать на лету js, вставляющий html, который тоже генерируется на лету ;).

Пожалуйста, не воспринимайте мою критику, как оскорбление, я всего лишь хочу указать на то, что проблем больше одной.
avatar
И еще в том коде есть критичный момент, вы генерируете html со списком mp3, который будет вставлен не сразу, а который вставит уже js при выполнении, можно же сделать проще и сразу вставлять готовый html в топик.
нельзя. вот пишу и понимаю что вы не знаете как это работает. плееры, которые будут отображаться через загруженные сторонними плагинами файлы или ссылки в тексте должны быть вне текста (блока) топика и хука там нет для «прямой вставки». для файлов, загруженных через сам плагин — они вставляются внутрь своих тегов.
Еще вызывают вопросы, зачем именовать именно так локальные переменные
me gusta

вы слишком педантичный.
avatar
плюс занимательно то, что узнаю я о
мой клиент пожаловался на несовместимость моего плагина «Мероприятия» и Вашего, затем он прислал мне Ваш плагин, который я продебажил и нашел причину.
не из сообщения в личку о «несовместимости» или в трекере, а в комментариях к топику.
avatar
Он к Вам также обращался как и ко мне, Вы ему отказали в помощи.
avatar
«он» — не разработчик, а пользователь.
avatar
Это абсолютно ничего не меняет, или разработчики, по вашему, это такая привилегированная каста мнение которых нужно принимать во внимание и только?

P.S. А какой толк Вам писать было бы, если Вы даже здесь относитесь к объективным замечаниям двух разработчиков наплевательски? Впрочем, также наплевательски как к 40%-ному оверхеду по размеру html страницы.
avatar
Это абсолютно ничего не меняет, или разработчики, по вашему, это такая привилегированная каста мнение которых нужно принимать во внимание и только?
это значит что разработчик понимает где и что не работает, пользователь может просто знать что не работает вот этот функционал, но причины ему не известны.

P.S. А какой толк Вам писать было бы, если Вы даже здесь относитесь к объективным замечаниям двух разработчиков наплевательски?
это ваши субьективные мнения, где вы пытаетесь заставить другого разработчика сделать код плагина таким, чтобы в вашем плагине было удобно.

Рассказывать сказки про невероятную нагрузку браузера на лив-события — вы сложнее простенькой программы ничего не писали в жизни? в вашем случае это необходимость — вешаться на лив, т.к. в противном случае вам нужно заставить переделать под ваш код ещё других разработчиков плагинов, которые через аякс загружают контент в топики или выполняют иные действия со структурой документа, где ваш замечательный плагин падает из-за изменения дом. Проснитесь, на дворе 21 век и изменение ДОМ — нормальная вещь, а вы, специалист, мне пытаетесь втереть тут черт знает что. От вас только одно умное замечание было и я его принял к сведению (правка всего текста топика), остальное — переплетение реальных фактов с мелкими неточностями, меняющими суть контекста в другое русло.
avatar
Внедрять многократно одинаковый inline js, который значительно увеличивает вес страницы и время рендера и совсем не дает совместимости или более того вешать live на какой-нибудь родительский элемент, который не подгрузят по ajax — это откровенные костыли.
Вы понимаете как работает .live? Причем тут именно нагрузка на клиенте? Здесь важна скорость работы с интерфейсом, если после клика вы в течении даже 50 ms ждете ответа из-за не оптимизированной работы с dom, то это ужасно и раздражает. Можно сделать гораздо правильнее и лучше — забиндить на хук стороннего плагина, подгружающего что-то по ajax, свой метод, который инициализирует определенную функциональность, например
ls.hook.add('ls_super_plugin_on_load_topics', ls.activity.initActivityHandler);

Одна красивая строчка кода, а получаем отличную совместимость и производительность. Чего не возможно сделать с вашим плагином.

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

Другое русло? Да тут оно одно, я же говорю конкретными фактами с примерами вашего кода. А ваш «компетентный» ответ слился только к одной фразе «мое решение». А, понятно все стало, раз ваше решение, — значит правильное, точно, извиняюсь :)

По поводу перерасхода ресурсов — это не мое мнение, а, к сожалению, просто факт. Попробую разжевать:
У нас есть два внешне одинаковых сайта, у одного html страничка весит 100кб, а у другого 150кб. Они хостятся на одинаковых серверах с бесконечным каналом и бесконечной памятью, кароче с бесконечными ресурсами, за исключением процессора. Каждая страница перед отдачей клиенту gzip-уетя.
Внимание, вопрос: какой сайт ляжет раньше при равномерно увеличивающейся посещаемости?
avatar
который значительно увеличивает вес страницы
я не считаю 1-1.5 кб кода — значительно
и время рендера
выше объяснил что вы ошибаетесь
и совсем не дает совместимости
с чем? с вашим плагином? с остальными проблем нет, а с вашим — есть.
более сложные плагины работают без проблем, а вот ваш почему не работает. вся рота идет не в ногу, один сержант — в ногу?
вешать live на какой-нибудь родительский элемент, который не подгрузят по ajax — это откровенные костыли.
я вам по секрету скажу — подгрузят, только тссс.
Вы понимаете как работает .live?
да, именно поэтому я вам его и рекомендую. правда я надеюсь что вы достаточно умны и говорите «live» как о общем названии и ни в коем случае о конкретном одноименном методе — .live, который жрет непомерно ресурсы. я вам говорю о легком и быстром on, который вешается на документ — новой и быстрой замене устаревшего тормоза .live

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

если второй сайт имеет больше функционала — резонно что он и весит больше.
avatar
С остальными? Покажите мне этот длинный список плагинов, с которыми у вас 100% совместимость и которые используют хуки внутри текста топика, например template_topic_content_begin.

Не соскакивайте с темы, вопрос был в том, что быстрее ляжет.
Очевидно же, что сайт со 150 кб. Размер html странички это важный показатель, а вы им пренебрегаете.
Насчет функционала — он одинаков, я же написал абсолютно одинаковые файлы, просто по разному оптимизированы. Если привязывать это утверждение к вашему плагину, то, поверьте, его можно переписать так, что не будет 10 почти одинаковых кусков кода, разбросанных по всей странице, которые будут совершать одни и те же действия, а вместо этого будет всего один, универсальный и находящийся в статическом .js файлике, подготовленном заранее и не нагружающим процессор на каждый хит, так как он не будет гзиповаться каждый раз.
avatar
я не «соскакиваю» с темы, я вижу, вы просто упёртый без возможности лечения.

Покажите мне этот длинный список плагинов, с которыми у вас 100% совместимость и которые используют хуки внутри текста топика, например template_topic_content_begin.
как минимум мои плагины и среди них есть с указанным хуком — совместимы.

Не соскакивайте с темы, вопрос был в том, что быстрее ляжет.
вопрос не касался темы топика. и я вам ещё раз про около 10-15 кб кода, а вы мне про какие-то 150.

то, поверьте, его можно переписать так, что не будет 10 почти одинаковых кусков кода, разбросанных по всей странице, которые будут совершать одни и те же действия, а вместо этого будет всего один, универсальный и находящийся в статическом .js файлике, подготовленном заранее и не нагружающим процессор на каждый хит, так как он не будет гзиповаться каждый раз.
я знаю, что можно любой код переписать по-разному. вы не читаете мои комментарии, поэтому не имею желания вести вести беседу.
avatar
Добрый день, помогите разобраться с плагином, установил, в админке включил, в шаблоне Social 3.0 перенес из default в папке tamplates содержимое в новую папку social (по логике). Появилась кнопка MP3 в окне редактора комментариев и создания топиков. Пытаюсь загрузить MP3 файл с компьютера, выбрал файл, нажимаю загрузить, ничего не происходит, просто обновляется окно выбора и загрузки файла. Как сделать так чтобы файл все таки загружался на сервер?

ПС: максимальный размер файла в конфиге установил 20Мб, максимально загружаемый файл в настройках PHP стоит 50Мб. Есть мысль что там куда загружается файл на папку не прописаны права доступа, но не могу пока понять куда именно будут загружаться MP3.
avatar
Все извините, сам же и разобрался :) оказывается на прокси стоял фильтр MP3 и прочего мультимедийного контента, и в процессе загрузки прокси просто отбрасывал файл. 2ой раз уже на этом попадаюсь и все забываю про эту фишку своего прокси. :)
avatar
Из описания плагина
Плагин использует сервис playmp3.org.ua
Этот сервис сейчас недоступен… наверное поэтому такая конструкция в топике
<mp3 src="http://yoursite.ru/uploads/audiorecordslight/1/2015/01/22/fa01a2afbce8.mp3"
 title="Audio Records"></mp3>

не работает. Или не по этой причине? Просто все топики где было использование плагина теперь не отображают плеер. Автор поправь если я не прав.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.