Задать вопрос
Контакты
Местоположение
Россия

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (14)

Лучшие ответы пользователя

Все ответы (18)
  • Как выполнить ëфикацию без сторонних библиотек?

    @catch-a-chalk
    В общем, если все буквы «е» без исключения, то так:

    function replaceE(node) {
        if (node.nodeType === Node.TEXT_NODE) {
            node.textContent = node.textContent.replace(/е/g, 'ё').replace(/Е/g, 'Ё');
        } else {
            node.childNodes.forEach(replaceE);
        }
    }


    А если учитывать контекст, то нашел на просторах модуль (сам не пробовал): https://github.com/e2yo/eyo-kernel
    Ответ написан
    Комментировать
  • Как передать значение из Select2 в другую функцию?

    @catch-a-chalk
    Привет!
    $(document).ready(function() {
        // инициализация Select2
        $(".city").select2({
            ajax: {
                url: "/ajax.php?action=main&type=get_city",
                type: "post",
                dataType: 'json',
                delay: 250,
                data: function(params) {
                    return {
                        searchTerm: params.term
                    };
                },
                processResults: function(response) {
                    return {
                        results: response
                    };
                },
                cache: true
            }
        });
    
        // глобальная переменная для хранения выбранного города
        let selectedCity = null;
    
        // обработчик выбора города
        $('.city').on('select2:select', function(e) {
            selectedCity = e.params.data.id; // или e.params.data.text в зависимости от того, что нужно
            console.log("Выбран город:", selectedCity);
        });
    
        // основная функция фильтрации
        function getFilter() {
            let action = 'get_data';
            let category = filterCategory('category');
            let city = selectedCity; // используем сохраненное значение города
            
            $.ajax({
                url: '/ajax.php?action=main&type=get_data',
                method: 'POST',
                data: { 
                    action: action, 
                    category: category, 
                    city: city 
                },
                success: function(response) {
                    $('#filterResults').html(response);
                }
            });
        }
    
        function filterCategory(classname) {
            let filter = [];
            $('.' + classname + ':checked').each(function() {
                filter.push($(this).val());
            });
            return filter;
        }
    
        $('.filter_click').click(function() {
            getFilter();
        });
    });
    Ответ написан
  • Как отключить "Reader mode" в Safari на IOS?

    @catch-a-chalk
    Привет, сталкивался с похожей проблемой. Сафари активирует режим чтения, если считает страницу чисто текстовой. Через метаданные или доп. теги можно попробовать его перехитрить, но тестировать все равно придется через разные версии Сафари (есть сервисы типа https://www.browserstack.com/test-on-safari-browser, но в бесплатной версии набор скудный).

    Мета:
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">


    В HTML «усложняем» разметку:
    <div style="display: none;">
        <iframe src="about:blank" width="1" height="1"></iframe>
    </div>
    Ответ написан
    Комментировать
  • Каким образом отлавливать и корректно устранять конкурирующие запросы javascript на сайте?

    @catch-a-chalk
    Привет
    Отслеживание и диагностика:
    - Lighthouse (Chrome DevTools);
    - GTmetrix (https://gtmetrix.com) – показывает поток загрузки ресурсов;
    - WebPageTest (https://webpagetest.org) – детализирует порядок исполнения скриптов.

    Плагины:
    - Query Monitor – показывает все AJAX-запросы и зависающие скрипты;
    - Async JavaScript (https://wordpress.org/plugins/async-javascript/);
    - Speed Optimizer (SiteGround).

    Можно еще вручную править через functions.php, но тут уже как больше хочется заморочиться с деталями.
    Ответ написан
    Комментировать
  • Как Clamp влияет на производительность, если его везде использовать?

    @catch-a-chalk
    Привет! Если вкратце, то использование математических функций типа clamp(), calc(), sin() и других действительно нагружают браузер.

    Если чуть подробнее, то затрачивается больше ресурсов при рендеринге, а при большом количестве стилей с функциями гарантированно будет доп. нагрузка, плюс легче запутаться при отладке. Короче, есть ли смысл заморачиваться с выбором между удобством и производительностью? @media и лайтхаус в помощь :)
    Ответ написан
    Комментировать