Повышение производительности и уменьшение скорости загрузки страниц для конечного пользователя - вот что не дает мне покоя последние 2 месяца. Добравшись до оптимизации загрузки JS на страницу - с удивлением принял тот факт, что CJSCore::Init не имеет возможности подгрузить скрипт с флагом async - что пусть и не критично, но при большом количестве логики на клиенте было бы приятным дополнением. При изучении всех страниц текущего проекта обнаружилось куча разноверсионных экземпляров jQuery, jQuery-ui, Bootstrap и прочих популярных JS-библиотек. В результате было решено сделать модуль-обертку для загрузки JS средствами API фреймворка, управления версионностью всей этой лабуды, исключения дублирования и, как приятное дополнение - возможностью задавать флажок async. Если основной функционал модуля другим разработчикам может и не понадобиться, то вот увидеть флажок для задания async в CJSCore::Init - было бы приятно из коробки. Тем более, что в ядро добавить нужно всего 1 условие и 1 строку (я проверил ).
Жуков Евгений, что значит невозможен async? А если у библиотеки нет зависимостей? Или даже если есть, то что мешает скачать "родительскую" требуемую библиотеку синхронно, а зависящую асинхронно? А если у меня не библиотека, а файл с набором обработчиков которые работают только после document.ready - почему его нельзя скачать асинхронно?
Если быть более точным - практически невозможен. Максимум, чего можно достичь - асинхронной загрузки Вашей собственной библиотеки, которая: 1. не зависит ни от одной дефолтной библиотеки продукта 2. не требует других библиотек (jQuery, etc) Все дефолтные библиотеки продукта имеют зависимости и должны загружаться в жестко заданном порядке.
Столкнулся с одной интересной проблемой при модернизации проекта - при включенном режиме отладки в публичной части, в административной части отладочная информация тоже выводится. Ну как выводится - контент из нее генерируется, а вот просмотреть средствами штатного UI ее вроде как и нельзя! Вроде как и ничего страшного, если бы объем этой информации не превышал 5МБ - и это, стоит заметить, при обращении к любой странице в административной части. Путем несложных манипуляций было выяснено, что в эпилоге админки /bitrix/modules/main/include/epilog_admin_after.php вызывается злополучный /bitrix/modules/main/interface/debug_info.php если у вас "когда-то" были выставлены галочки в отладке. При этом стоит заметить, что "кука" show_sql_stat не убивается даже при логауте, так что не исключено, что "пятиметровый хвост" будет преследовать невнимательного разработчика везде еще на протяжении какого-то времени - так что будьте внимательны!
Внимательными - это значит, после отладки - отключайте режим отладки. Решается данный вопрос пока только вмешательством в код ядра - а именно можно закомментировать в /bitrix/modules/main/include/epilog_admin_after.php с 27 по 35 строку, или только строку include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/interface/debug_info.php";); P.S. В техподдержку сообщено - думаю, в следующих версиях либо добавят возможность управлять режимом отладки в админке, либо отключат ее в админке вовсе.
Сегодня дебютировал на Bitrix Marketplace - компонент, конечно, простяцкий, но задел у него есть. При создании галереи работ клиента по крайней мере помог довольно серьезно. Тем более будем дальше развиваться в сторону повышения комфорта работы с iOS.
Вечер добрый! Изучаю Bitrix Framework - второй день. Решил сделать перекур и поверстать для разнообразия. В стандартном шаблоне "Сайт производства" (Мебельная компания) обнаружил, что открывающие тэги <html> и <body> в прологе, а закрывающие в эпилоге. В связи с этим родился вопрос: это мне с шаблоном не повезло, али это этакий негласный стандарт? О_о
Ай, спасибо! Не любитель я просто верстать-писать что-то "через админку" - все-таки скорость написания-отладки в IDE побыстрее будет (исключительно лично мнение). Буду признателен если вы мне прямую ссыль кинете, где это описано - может я просто "не с того хвоста" начал. P.S. Читал тут http://dev.1c-bitrix.ru/learning/cour...ON_ID=3231 (только не говорите, что там именно так и написано, как вы сказали %))
Да я вроде прочел. Там описана структура шаблона: хэдер, контент, футер; описано, как подключить эти части дизайна. Но, так скажем, более детальных рекомендаций там не припоминаю.
Ну и если страница состоит из хедера, контента и футера, то объясните мне как боди и хтмль могут быть не открыться в одном и не закрыться только в другом?
Вот так (стандартный layout, на сколько я понимаю) : <html> <head>...</head> <body> <? include header?> <workarea>...</workarea> <? include footer?> </body> </html>
По мне так - это удобнее и немного сокращает время перехода дизайн->прототип->представление.
P.S. Да, я помню в мануале фразу "Не сравнивайте Bitrix Framework с другими фреймворками" - просто пока нахожу действующую схему неудобной.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».