Ответы пользователя по тегу HTML
  • Как отключить кэширование браузером index страницы?

    sasha-hohloma
    @sasha-hohloma
    Fullstack Developer
    Вам нужно добавлять hash в названия файлов. При изменении содержимого будет меняться hash рядом с именем файла скриптов/стилей и после нового релиза пользователи без сброса кэша будут видеть обновления. Совсем отключать кэш нежелательно, т.к. тогда постоянным пользователям нужно будет каждый раз грузить файлы и каждый раз ждать окончание загрузки.
    Для реализации такого подхода нужно настроить Webpack, подробнее можно глянуть в документации или в пример ниже для Webpack 5 с одного из рабочих проектов:

    const path = require('path');
    const htmlPlugin = require('html-webpack-plugin');
    
    const publicPath = path.join(__dirname, 'build');
    
    module.exports = {
        entry: './source/index.tsx',
        output: {
            path: publicPath,
            filename: '[name].[contenthash].js',
            chunkFilename: '[name].[chunkhash].js',
            publicPath: '/',
        },
        devServer: {
            static: publicPath,
            historyApiFallback: true,
            hot: true,
            port: 6790,
        },
        resolve: {
            extensions: ['.ts', '.tsx', '.js', '.jsx', 'ttf'],
        },
        module: {
            rules: [
                {
                    test: /\.(ts|tsx)$/,
                    include: path.resolve(__dirname, 'source'),
                    loader: 'ts-loader',
                    options: {
                        transpileOnly: true,
                    },
                },
            ]
        },
        plugins: [
            new htmlPlugin({
                publicPath: '/',
                template: './source/index.html',
                favicon: './source/assets/images/favicon.png'
            }),
        ],
    };
    Ответ написан
    Комментировать
  • Есть ли какие нибудь недочеты по сверстанной странице?

    sasha-hohloma
    @sasha-hohloma
    Fullstack Developer
    При первом взгляде неплохо, но есть несколько ошибок:
    1. На кнопках с выпадающими списками нет иконок, которые указывают о наличии выпадалок внутри
    2. Выпадающий список на маленьких экранах не вмещается
    3. На мобилке навигация не листается и выглядит не очень красиво
    4. Вставлять видео вот так в лоб через video тэг - плохая практика
    5. Видео лучше грузить после полной загрузки всех картинок, стилей, скриптов
    6. При ресайзе слайдер сходит с уа в эпилептическом приступе (используйте Slick или Owl)
    7. Почему такая старая версия jQuery?

    Странно что в исходниках расширение файлов SASS, но расставлены точка с запятой и скобки
    Также, если верстаете с БЭМ придерживайтесь всех правил, а именно избегайте вложенности и названий тегов .merits__ring-list div:nth-child(1)
    Также рекомендую изучить циклы в SASS, чтобы не перечислять вручную дочерние элементы
    Ответ написан
    6 комментариев
  • Как найти label определенного input-та?

    sasha-hohloma
    @sasha-hohloma
    Fullstack Developer
    Не совсем понятно, что имеется ввиду под словом "изменять". Как я понимаю, нужно получить кастомный чекбокс, почитать можно здесь
    Ответ написан
    Комментировать
  • Emoji работа с unicode в html, php и mysql?

    sasha-hohloma
    @sasha-hohloma
    Fullstack Developer
    PHP лучше перед записью в базу данных преобразовать в unicode строку, а при запросе из базы преобразовывать обратно. На проекте использовал эту библиотеку, работала отлично
    Ответ написан
    Комментировать
  • Где брать уникальные иконочные шриты с макета?

    sasha-hohloma
    @sasha-hohloma
    Fullstack Developer
    Лично я раньше по-всякому извращался, теперь же шрифт иконок собираю из SVG иконок в GULP
    Ответ написан
    Комментировать