Ты задачу то опиши, у меня есть сильное подозрение, что ты не понимаешь, что такое blob.
В любом случае file ссылку ты можешь получить только открывая html файл локально - не надо этого делать. Забудь о локальных файлах, они практически не поддерживаются и не работают, особенно со скриптами. Даже если делаешь что-то для себя - проще развернуть мини-сервер или электрон, чем возиться с произвольными недокументированными и постоянно меняющимися ограничениями.
Единственный вариант - генерировать на сервере картинку и отдавать её пользователю. Т.е. когда никакого шрифта на клиенте вообще нет, только готовая картинка. Если очень захотеть то можно подобие шрифта восстановить и из картинки, но этим уж никто заниматься не будет. Однако, очевидно, что это дичь не удобная пользователю.
Любые иные вариант ничего не защитят: если есть шрифт и он рендерит текст на клиенте - значит его можно достать.
Обновить или дангрейднуть версию чего-нибудь.:)
А уж чего именно разобраться сможешь только ты сам. Причина проблемы в ошибке написана - какая-то библиотека подключается через require(commonjs), а сделана как esm модуль.
P.S. Node.js v21.7.2 - это ты зря. Нечётные версии - они только для энтузиастов и не имеют широкой поддержки. Рекомендуется использовать lts версии для надёжности.
Привет, я тут по вопросу Как создать изогнутый во внутрь border? а то модертор разбушевался. В каком браузере или каким способом ты сделал, что правый уголок в моём ответе отвалился?:)
По поводу же самого того твоего вопроса: серебряной пули нет, тебе придётся выбирать из имеющегося: svg, clip-path, mask в разных комбинациях, в зависимости от нужного результата. Нужна резиновость и бордер, но прозрачность? Ну чтож - например делай четыре блока - один правый угол с svg, три - с разными бордерами.
AfterGen, кстати вспомнил один старый грязный хак, который позволяет решить проблему в чистом js:
Но для vue это не применимо, т.к. там смена стиля и перетасовка - единая операция и вклиниться "промеж" не получится(ну по крайней мере без чрезмерного переусложнения).
Скорее всего проблема где-то в другом месте.
Ошибка тебе человеческим языком говорит, что где-то в хуке onMounted ты делаешь <что-то>.updated и это "что-то" - пустое.
usbfan_official, всё равно не вижу ни одной причины для дополнительного блока. Фунуция getApiData и так создаёт свою область, лишние телодвижения - непонятны.
usbfan_official, у тебя setUsers(response); зачем то заключён в блок кода. Это не ошибка само по себе, но это тонкая механика которой практически никто не пользуется, кроме особых случаев, и конкретно тут это явно не нужно.
Adamos, причина верна - решение не очень.
Надо не отключать аппаратное ускорение, а ставить норм дрова или чинить видуху. Потому что если проблема в дровах - оно ещё много чего сломает, а если во втором - то видуха может и совсем сдохнуть внезапно, и надо быть к этому готовым.
Что не понятно то? Всё в ответе. Ну вот тебе тот же ответ другими словами:
1. Есть библиотека pdf.js которая умеет читать и отображать pdf в браузере, но не так как ты хочешь. Её можно вставить на любой сайт. Она опенсорс. Ты можешь её доработать как тебе надо(или заказать доработку на фрилансе если компетенции недостаточно).
2. Ты можешь сохранить pdf как обычный набор картинок любой программой для работы с pdf. Ты можешь подключить эти картинки на любую страницу любого сайта через стандартный тэг img.
Роман, бэкэнд нужен для любого сайта, если он кончно читсто для себя у тебя в папочке на компьютере не хранится(и то современный фронт хрен без сервера запустишь). Так что ограничивать себя фронтом нет никакого смысла. Но и изучать там особо ничего не надо, все cms имеют юзер-френдли системы установки и настройки.
В ручную тебе придётся задобаться и изучить куда больше. Просто возми готовый движок для блога, или cms общего назначения типа wordpress, к ним бесплатный понравившийся скин и спокойно заполняй себе из админки как тебе надо.
У dp там защёлка. Надо его просто сжать сверху или по бокам в зависимости от механизма и он легко вытащится. Как бы ты там чего не поломал пока силой вытащить пытался...
Если не поможет - использовать dispatchEvent всяких input\keydown\keyup\keypress и т.д. За что-то из этого оно цепляется в своей работе.