• Почему происходит задержка применения CSS?

    ae_ph
    @ae_ph
    I'm a owl )
    iframe будут работать медленнее по тому, что для браузера есть дополнительные накладные расходы (его рендеринг, поддержка его экземпляра и ссылки на него).
    Ответ из статьи
    =====================================================
    Иван Кулаков,
    Проверьте ваш HTML документ.
    Если вы указывали в <head> JavaScript и если вы его указали раньше стилей CSS тогда возможна изначальная загрузка JavaScript а затем и CSS стилей из за чего могут быть эти баги.
    Нужно указывать сначало CSS стили а затем уже JavaScript код. Но в иделе конечно писать JavaScript перед закрывающим тегом </body>
    Также хотелось-бы добить, чтобы вы указали ваш <title>Document</title> в низу под стилями.
    6066728f7d82e434619101.jpeg

    Попробуйте написать в конце HTML документа в "скрипт с пробелом" или с комментарием.
    Примеры:
    <script type="text/javascript"> </script>
    <script type="text/javascript">//</script>


    Или за место верхнего скрипта с пробелом просто добавьте пустой JS скрипт там.
    6066681e0d4db105801708.jpeg

    Так-же попробуйте это решение описанное в css-tricks.
    Transitions только после загрузки страницы.

    Цитата из w3 org

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


    Также перехода можно избежать, задав стили в HTML файле вместо использования CSS, которые загружаются асинхронно.
    Ответ написан
    9 комментариев
  • Почему не воспроизводится видео mp4 через QuickLook на macOS?

    ae_ph
    @ae_ph
    I'm a owl )
    Я использую Windows os у меня нет возможности протестировать на Mac os
    Попробуй воспользоваться моим файлом MKV – MP4.bat
    Вот ссылка на мой репозиторий FFMPEG_BAT
    Если это не сработает тогда хз.. А если сработает тогда я гляжу у тебя там определённый фильтр, просто допиши его к себе в .bat файл тот и всё
    Ответ написан
  • Можно ли в js проверить чему равен style display в css?

    ae_ph
    @ae_ph
    I'm a owl )
    Оставлю это здесь может кому-то пригодится.
    Получить значение css свойства transform. Оно будет выдавать значения 3D-матрицы.
    И вам нужен будет определённый номер для получения значения.

    Одно из 16 значений однородной матрицы 4x4. Например, m12 представляет значение в первой строке и втором столбце.
    Находим значение в матрице для css свойства "transform: scaleY(0);" изменив 0 в css на 44 например.
    (мем: нет ты - нет ты lol. Поймёте если не поставите другое значение в css)

    let box = document.querySelector('.menu-1');
    let getStyle = getComputedStyle(box);
    let matrix = new DOMMatrixReadOnly(getStyle.transform);
    console.clear();
    console.info("gmatrix.m11 = ", matrix.m11);
    console.info("gmatrix.m12 = ", matrix.m12);
    console.info("gmatrix.m13 = ", matrix.m13);
    console.info("gmatrix.m14 = ", matrix.m14);
    console.info("gmatrix.m21 = ", matrix.m21);
    console.info("gmatrix.m22 = ", matrix.m22);
    console.info("gmatrix.m23 = ", matrix.m23);
    console.info("gmatrix.m24 = ", matrix.m24);
    console.info("gmatrix.m31 = ", matrix.m31);
    console.info("gmatrix.m32 = ", matrix.m32);
    console.info("gmatrix.m33 = ", matrix.m33);
    console.info("gmatrix.m34 = ", matrix.m34);
    console.info("gmatrix.m41 = ", matrix.m41);
    console.info("gmatrix.m42 = ", matrix.m42);
    console.info("gmatrix.m43 = ", matrix.m43);
    console.info("gmatrix.m44 = ", matrix.m44);


    Использование DOMMatrixReadOnly интерфейса вместо WebKitCSSMatrix.
    WebKitCSSMatrix является псевдонимом DOMMatrix, который является изменяемой версией DOMMatrixReadOnly, наследующей от него свойства.
    Ответ написан
    Комментировать
  • Как пофиксить странный клик?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Я купил новую оптическую клавиатуру..
    И в одно время я удалил описанный в вопросе CarambaSwitcher, но видимо не полностью или одну из его установленных версий. Я редко перезагружаю комп, обычно он спит у меня.
    И вот стал замечать, что опять этот баг появился, я подумал, клавиатура новая с этим не может быть проблем.
    Поглядел в трее задач а у меня оказывается включен CarambaSwitcher.
    В этот раз я его отрубил и полностью удалил с ПК. Пронаблюдав отсутствие бага в течении 2 недель, могу с уверенностью сказать. Всему виной был CarambaSwitcher он есть БАГ!

    Переключение было записано в CarambaSwitcher на двойное нажатие Left Shift.
    Возможно какие-то траблы у него с виндой. Изучать я это не стал. Но как уже ранее писали в ответах если зажать Left Shift и начать нажимать по ярлыкам запуска уже открытых программам, будут открываться новые окна тех самых программ.
    Ответ написан
    Комментировать
  • Сохранять пароли стоит ли?

    ae_ph
    @ae_ph
    I'm a owl )
    Я-бы не стал сохранять..
    Есть разные зверьки которые могут похитить все пороли и логины сохранённые в браузере..
    Возможно сейчас те самые данные можно и закрыть паролем я не знаю.
    Но если так подумать можно и все нажатия клавиш записать и сливать так-же и буфер обмена.
    Так-что тут не одно так другое может быть.
    Ответ написан
    Комментировать
  • Как увеличить бар меню закладок в Google Chrome?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Нашёл статью в которой говорится как сделать подобное и не только в Firefox.
    Может кому пригодится..
    Ответ написан
    Комментировать
  • Как убрать задержку при передачи видео mp4?

    ae_ph
    @ae_ph
    I'm a owl )
    Попробуйте сделать так..
    Рядом с app.js положите bat файл с этим кодом и стартоните его, у меня мгновенно взлетает.
    Я изменил кодек на mpeg4 это основное.
    @echo off
    color a
    start node app.js
    set c=ffmpeg
    set f=-f gdigrab -framerate 30 -rtbufsize 999999k -thread_queue_size 9999999 -indexmem 9999999 -i desktop -c:v mpeg4 -qscale:v 3 -movflags frag_keyframe+empty_moov -f mp4 tcp://127.0.0.1:4444
    %c% %f%
    exit


    -rtbufsize 1G – Размер буфера 1 гигабайт. По умолчанию FFmpeg захватывает кадры из ввода, а затем выполняет все, что вы ему сказали. Например перекодирует их и сохраняет в выходной файл. По умолчанию, если он получает видеокадр "слишком рано" (в то время как предыдущий кадр еще не закончен), он отбрасывает этот кадр, чтобы он мог поддерживать ввод в реальном времени. Вы можете отрегулировать это, установив параметр rtbufsize, хотя обратите внимание, что если ваш процесс кодирования не успевает, в конечном итоге вы все равно начнете терять кадры (и его использование вообще может вызвать небольшую задержку). Однако может быть полезно указать некоторый размер буфера, в противном случае кадры могут быть потеряны без необходимости.

    -thread_queue_size – Устанавливает максимальное количество пакетов в очереди при чтении из файла или устройства. Установка этого значения может заставить ffmpeg использовать отдельный входной поток и читать пакеты, как только они приходят. Может применяется для каждого входа, указанного после него.

    -indexmem – максимальная память, используемая для индекса отметки времени (на поток).

    Он хоть и староват но достаточно быстрый -c:v mpeg4 -qscale:v 3
    Ответ написан
  • Как правильно написать условие в bat файле?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Я нашёл решение!
    Проверяем наличие ошибок если они есть, тогда отработает ERRORLEVEL 1 если нет ERRORLEVEL 0.
    Соответственно присвоим для каждого из них разные метки.
    if ERRORLEVEL 1 goto answer1
    if ERRORLEVEL 0 goto answer0
    Ответ написан
    Комментировать
  • Где скачать песочницу для Windows 7?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Это идеально подходим мне!
    Ссылка на гитхаб Sandboxie уже собранный.
    Для Windows 7 нужно скачать там-же драйвера
    (Provisional.Windows.7.Drivers.zip), при установке потребует указать их.
    В целом всё интуитивно и понятно.

    Язык русский поменять в настройках можно
    Options > Global Settings > General Options

    Мануал на сайте есть у них.

    Краткий мануал с картинками от меня..
    1) Запускаем программу
    5ff528556b9ff778091161.jpeg
    2) Выбираем нужным нам файл на ПК, далее его смело устанавливаем..
    5ff528b6249c3189280190.jpeg
    Все действия которые произошли можно будет отследить.
    Так-же "Просмотреть содержимое" на 1м скрине видно эту опцию..
    Ну а потом после анализа содержимого всё это можно благополучно снести "Удалить содержимое".

    Все эти файлы естественно устанавливаются не к вам в родной Windows а в отдельную папку "песочницу" и из неё им нет пути наружу =)
    И т.д.
    Ответ написан
  • Почему ранее добавленный класс не удаляется?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    mahmudchon Gary_Ihar
    Да верно, допустил ошибку в написании.. Спасибо!

    На JS
    let msBtn = document.querySelector(".message-good-btn");
    msBtn.onclick = function() {
        let off = document.querySelector(".message-good");
        off.classList.remove('ms-on');
    };

    ========================================================

    На jQuery
    $(function() {
        let msBtn = document.querySelector(".message-good-btn");
        msBtn.onclick = function() {
            let off = document.querySelector(".message-good");
            off.classList.remove('ms-on');
        };
    });
    Ответ написан
    Комментировать
  • Как переименовать файлы с помощью bat-файла?

    ae_ph
    @ae_ph
    I'm a owl )
    Вот моё решение это не ответ на вопрос, но я хочу оставить это сдесь, для похожих запросов.
    Этот .bat файл переименует .Jpg файлы из папки Result вот в такие файлы file-000.jpg, file-001.jpg, file-002.jpg
    Папка Result находится рядом с bat файлом.
    Изначально в папке Result имена у .Jpg файлов могут быть абсолютно разными.. Не имеет значения.
    setlocal enabledelayedexpansion
    cd /d Result
    set "count=1000"
    set a="*.jpg"
    for /f "usebackq delims=*" %%f in (`dir /b /o:-d %a%`) do (ren "%%f" file-!count:~1!.jpg
    set /a count+=1
    )
    pause


    SetLocal EnableDelayedExpansion Раскрытие переменных через знаки (!)
    cd /d Result заходим в папку Result
    set "count=1000" переменная в которой я обозначил количество нулей file-001.jpg
    set "count=1000" Отсчёт начинается с file-000.jpg затем file-001.jpg и т.д.
    set "count=1001" Отсчёт начинается с file-001.jpg затем file-002.jpg и т.д.

    set a="*.jpg" переменная обозначает какие файлы ищем.

    (`dir /b /o:-d /tc %a%`)
    dir - Позволяет отобразить список файлов и подкаталогов. Далее сортируем.
    /b - Вывод только имен файлов.
    /o:-d - Сортировка списка отображаемых файлов в обратном порядке ( от новых к старым ).
    /o:d - Сортировка списка отображаемых файлов ( от старых к новым ).
    Если вам нужно изменить порядок сортировки файлов.

    %a% - Вызываем переменную

    usebackq Задает возможность использования кавычек для имен файлов Такие вот> ".
    Задает исполнение строки, заключенной в обратные кавычки, как команды Такие вот> `,
    а строки в одиночных кавычках — как команды в символьной строке Такие вот> '.

    delims=xxx Задает набор разделителей. Заменяет набор разделителей по умолчанию, состоящий из пробела и символа табуляции.
    Ответ написан
    2 комментария
  • Как в bat файле переименовать файлы?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Вот решение
    Этот .bat файл переименует Jpg файлы из папки вот в такие файлы file-000.jpg, file-001.jpg, file-002.jpg
    setlocal enabledelayedexpansion
    cd /d Result
    set "count=1000"
    set a="*.jpg"
    for /f "usebackq delims=*" %%f in (`dir /b /o:-d /tc %a%`) do (ren "%%f" file-!count:~1!.jpg
    set /a count+=1
    )
    pause


    SetLocal EnableDelayedExpansion Раскрытие переменных через знаки (!)
    cd /d Result заходим в папку Result
    set "count=1000" переменная в которой я обозначил количество нулей file-001.jpg
    set a="*.jpg" переменная обозначает какие файлы ищем.

    (`dir /b /o:-d /tc %a%`)
    dir - Позволяет отобразить список файлов и подкаталогов. Далее сортируем.
    /b - Вывод только имен файлов.
    /o:-d - Сортировка списка отображаемых файлов в обратном порядке ( от новых к старым ).
    /tc - Сортировать по времени создания файла
    %a% - Вызываем переменную

    usebackq Задает возможность использования кавычек для имен файлов Такие вот> ".
    Задает исполнение строки, заключенной в обратные кавычки, как команды Такие вот> `,
    а строки в одиночных кавычках — как команды в символьной строке Такие вот> '.

    delims=xxx Задает набор разделителей. Заменяет набор разделителей по умолчанию, состоящий из пробела и символа табуляции.
    Ответ написан
    Комментировать
  • Как я могу записать 2 выражения в bat файл?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Хочу заменить ещё одну ошибку. Теперь всё работает.
    Я переменную %f1% не туда воткнул, вот готовое решение.

    color a
    @echo off
    set a="Your_files\*.mp4"
    set b="Result\file-%%03d.jpg"
    set c=ffmpeg
    set f=-vf fps=10
    for %%a in (%a%) do (%c% -y -i "%%a" %f% %b%)
    set a="Result\file-%%03d.jpg"
    set b="Result\video.mp4"
    set c=ffmpeg
    set f=-f image2 -r 3
    for %%a in (%a%) do (%c% -y %f% -i "%%a" %b%)


    Спасибо wisgest за помощь.
    Ответ написан
    Комментировать
  • Имитация нажатия клавиши Win в VBS

    ae_ph
    @ae_ph
    I'm a owl )
    Может кому-то пригодится
    ^{ESC} — Будет обозначать клавишу Win на клавиатуре
    a.SendKeys "^{ESC}"
    Ответ написан
    Комментировать
  • Как в cmd переменной задать путь?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Оставлю этот вариант

    set let1="Your_files\*.mp4"
    set let2="Result\%%~na.gif"
    for %%a in (%let1%) do ffmpeg -i %%a -filter_complex "fps=10,scale=-1:-1:flags=lanczos,split[o1][o2];[o1]palettegen[p];[o2]fifo[o3];[o3][p]paletteuse" %let2%
    Ответ написан
    Комментировать
  • Как в ffmpeg из нескольких папкок с фотографиями создать видео файлы на каждую папку?

    ae_ph
    @ae_ph
    I'm a owl )
    Я использую Windows os
    1) Создайте в директории с ffmpeg.exe папку Your_files и папку Result
    2) В папку Your_files положите png файлы с подобным именованием out001.png out002.png out003.png ...
    for %%a in ("Your_files\out%%03d.png") do ffmpeg -y -f image2 -r 3 -i "%%a" "Result\video.mp4"
    Ответ написан
    Комментировать
  • Как защитить форму отправки писем от ботов и XSS?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Да для защиты от XSS нужен бэкенд и как они это там делают я вот вообще не в курсе, точно так-же как и ставят серверную часть.
    Но хотя-бы экрнирование input'ов можно произвести на фронте. Что в принципе я уже и написал на JS.
    Ответ написан
    Комментировать
  • Почему gulp uglify выдаёт ошибку?

    ae_ph
    @ae_ph
    I'm a owl )
    Или как вариант
    Для того, что-бы uglify-js поддерживал ES2015 + (ES6 +)
    Нужно установить дополнительно экспериментальную ветвь harmony
    npm install --save-dev uglify-js@github:mishoo/UglifyJS2#harmony

    Ничего в gulpfile.js менять (подключать её) не нужно, просто установить и всё будет работать.
    Все настройки в gulp-uglify встанут автоматически.

    Более подробно uglify-js-es6
    Ответ написан
    Комментировать
  • Как исправить проблему верстки в футере на сафари?

    ae_ph
    @ae_ph
    I'm a owl )
    Тебе ещё скрол по X нужно убирать..
    5f5fdc4d3ca54205563577.jpeg
    В safari всё ок на Iphone SE
    5f5fdd353d5d8574424470.jpeg
    Ответ написан
    Комментировать
  • Как сделать flex сетку?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Я сделал несколько адаптивных вариантов данной сетки.
    На Flexbox и на css grid
    Ответ написан
    Комментировать