• Как использовать кириллицу в Jimp JS?

    @lostero
    Закинуть шрифт с кириллицей не пробовали?

    Смотрите на сорцы,
    находите нужную группу файлов,
    находите нужный метод,
    находите место откуда берутся глифы для каждого символа.

    Если на моменте обработки шрифта кириллица не попадает в список глифов, допиливаете.
  • Есть ли эффект-анимация перелистывания страниц книги со сменой url?

    @lostero
    мини-SPA делаешь под книгу (урлы меняешь как хочешь, подгружаешь данные заранее для нескольких страниц до и после текущей)

    Бэк должен эту мини-SPA выплёвывать с данными нужных страниц при запросе по урлу

    Можно ещё Service Worker добавить сверху
  • Как проверить, является ли переменная объектом?

    @lostero
    // Подразумевается, что элементов с классом 'adv' от 0 до 1
    // Если это так, то лучше назначать уникальное id подлиннее и использовать document.getElementById
    
    // Если нужно удалять все элементы с этим классом, то проходишь циклом по элементам из document.getElementsByClassName('adv') и повторяешь удаление из DOM для каждого
    
    // Если нужно запоминать созданный этой функцией div, то пример выше без let внутри функции (т.к. это ошибка)
    // Пример выше можно доработать: вынести создание элемента из функции - var baseDiv = document.createElement('div'); , внутри функции клонировать - div = baseDiv.cloneNode(false);
    // baseDiv может быть переиспользуемым многими функциями таким способом, а cloneNode будет создавать элемент быстрее, но это мои перфекционистские предпочтения
    
    // Сам код для 1 случая
    var
    d = document,
    div = d.getElementsByClassName('adv')[0],
    p    = div && div.parentNode;
    if (p && typeof p.removeChild == 'function'){
        p.removeChild(div);
    }
    
    div = d.createElement('div');
    div.className = "adv";
    div.innerHTML = "<img......>";
    d.body.appendChild(div);