Викия

ru-Викия

коммент.0

Уменьшенный CSS и JS для ускорения работы вики

Kuzura августа 23, 2012 Блог участника:Kuzura

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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

Одной из важных особенностей Викия является то, что вики-сообщества могут создавать свои собственные JavaScript (JS) и CSS скрипты, которые добавляют вики функциональности или настраивают внешний вид вики. Многие викии создали действительно интересные и уникальные коды и с радостью делятся ими с другими проектами.

Однако JS и CSS файлы имеют один существенный недостаток - когда пользователь открывает страницу вики, он задействует все эти скрипты, создавая дополнительные запросы на пути к серверам Викия и обратно. Выполнение подобных запросов может существенно замедлить работу вики, особенно, если на вики очень много сторонних скриптов (на одной вики мы видели сразу 31 файл с JS).

Чтобы исправить эту проблему, команда инженеров Викия создала код, который должен помочь ускорить обработку JS и CSS скриптов на вики. Новая функция задействует общий JS Викия и вызывается кодом "importArticles ()", который работает аналогично известному коду "@import". Его преимуществом является то, что при запросе он "удаляет" все комментарии и пробелы из JS и CSS, которые делают эти страницы читаемыми, и в таком виде подаёт их пользователю. Таким образом пользователь получает уменьшенный скрипт, скачивает файл меньшего объёма, а значит время на обмен данными с сервером также уменьшается и страницы с JS и CSS загружаются быстрее.

Использование

Чтобы использовать новую функцию на своей вики, вы должны задать описание того скрипта, который собираетесь импортировать: "script" для JS или "style" для CSS.

Если вы хотите импортировать два JS файла: одни локальный и один из другой вики, то ваш код будет выглядеть, примерно, так:

importArticles({
    type: "script",
    articles: [
        "MediaWiki:MyCustomJavaScript.js",
        "w:elderscrolls:MediaWiki:External_include.js"
    ]
});

Аналогично для CSS файлов:

importArticles({
    type: "style",
    articles: [
        "MediaWiki:Common.css",
        "w:starwars:MediaWiki:External_include.css"
    ]
});

Если нужно импортировать только один файл, то код можно немного сократить:

importArticle({
    type: "style",
    article: "MediaWiki:Common.css"
});

Если у вас возникли вопросы, оставьте их в комментариях ниже или свяжитесь с инженерами Викия через страницу Служебная:Contact.

Обращаем ваше внимание, что новая функция работает только на MediaWiki 1.19

Викия-сеть

Случайная вики