Сообщество любителей самого популярного языка программирования в мире. Публикация вакансий: @javascript_jobs Чаты: @frontend_ru @css_ru Каналы: @defront @frontendnoteschannel Флуд: @javascript_ru_flood Важно! http://nometa.xyz и http://neprivet.ru
Ну эту инфу даст о реализации, но движки то разные, все корпы используют свои движки
Читать полностью…думаю, прям такой команды, как тебе нужно ты в JS не найдёшь, но используя различную инфу из объекта navigator, и сопоставив её по каким-то своим табличкам (данные для которых можно получить из открытых источников), получишь и движок.
в любом случае, выше я кидал ссылочку на MDN, определение агента или движка - неправильный путь. Правильный путь - определение того, будет ли работать КОНКРЕТНАЯ фича, которую планируется применить на странице
https://www.whatismybrowser.com/detect/ecma-script-version
Читать полностью…Не то, мне не нужен юзерагент и его содержимое, у меня вопрос другой, как узнать какой движок использует браузер
Читать полностью…Не могу сказать. Я ставлю vite, а он под капотом что-то там преобразует. Когда из TS в JS транспилирует, после этого бабель, наверное, и не нужен. Для TS же указываешь, под какое ES выдачу делать.
Читать полностью…Здравствуйте, может кто сталкивался с подобной задачей. Реализовал блок с двумя колонками, в каждой колонке по 5 картинок.
Теперь пытаюсь написать JS-скрипт или аниманицию на чистом CSS для решения следующей задачи - мне нужно сделать бесконечные вертикальные карусели. Чтобы в одной колонке изображения перемещались сверху вниз, а во второй снизу вверх.
Мне кажется проблем с решением не возникло, если бы у меня была одинаковая высота у каждого изображения, а у меня они разные.
Все примеры, которые нахожу на JS или чистом CSS используют фиксированную ширину и высоту для изображений.
поймал появление кнопки и на нее повесил сразу, что надо
Читать полностью…можно сделать
const tdElement = document.querySelector('.селектор-для-td')Читать полностью…
if (!tdElement)
return
const storedData = localStorage.getItem('tddata')
if (storedData) {
tdElement.textContent = storedData
}
else {
const tdData = tdElement.textContent
tdData && localStorage.setItem('tddata', tdData)
}
Добрый день
Допустим я хочю сохранять данные определенного тега <td> из таблицы в локальном кеше браузера чтобы при обновлении страницы сохранялись изменения в данном теге . Просто я уже столько мучаюсь но негде рабочий версию кода написать не получается . Кто может подсказать как его написать
в функции, присвоенной window.onload, input
непонятно на что ссылается, ведь при загрузке страницы оно ещё не определено
кроме того, я бы так написал:
window.onload = function() {
// этого просто не хватало
let input = document.getElementById('myInput');
let inputVal = localStorage.getItem('inputValue');
if (inputVal) {
input.value = inputVal;
}
};
Но это версия стандарта, а что за движок конкретно используется тут я не узнаю наверное, ну типо V8 исполняет код или не V8 в хроме например, прям щас
Читать полностью…Явно нигде инфы нет, только через проверки на наличие тех или иных функций из стандартов
Читать полностью…https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA_JavaScript#%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8
тут в табличках про то, какие спеки они используют
посмотри все свойства объекта navigator, там дофига всего, мож что-то подойдёт
Читать полностью…Это не совсем то, я имею ввиду рантайм движок яваскрипта (V8/SpiderMonkey/JSC/Chakra)
Читать полностью…Можно ли узнать какой движок js используется в браузере (чей)?
И как реализуют движки разработчики браузеров (не v8), чисто опираясь на спецификацию?
товарищи подскажите пожалуйста, поставил расширение для обхода cors, затестил тут https://webbrowsertools.com/test-cors/, все работает, но когда делаю запрос локально к АПИ то cors выдает ошибку, подскажите советом как пофиксить...
Читать полностью…Не удалось. Там много статей, а я не помню, как звалась конкретно та.
Читать полностью…По-поводу раньше да, а сейчас как с этим дела обстоят, нужен ли вот сейчас бабел?
Читать полностью…Этот вопрос не имеет общего решения, только частное.
Читать полностью…Спасибо, решил через eventListener на стадии погружения. Да мне кажется обсёрвер не решил бы проблему, тот виджет сразу свой обработчик с каким-то перехватом навешивает
Читать полностью…Чтобы содержимое td независело от того, что прислал сервер? А что там должно лежать? То, что он пришлёт в первый раз, когда ещё ничего не сохранено?
Читать полностью…Библиотека, которая позволяет создавать view для массивов, а также получать их подмножества с помощью срезов (как в питоне), а также через булевые маски и списки индексов. Покрытие тестами — 100%.
Устанавливается через npm. Лицензия MIT (бесплатно, без ограничений).
https://www.npmjs.com/package/array-view
https://github.com/Smoren/array-view-ts
Примеры использования:
import { view } from "array-view";
const originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const v = view(originalArray);
v.loc['1:7:2']; // [2, 4, 6]
v.loc[':3']; // [1, 2, 3]
v.loc['::-1']; // [9, 8, 7, 6, 5, 4, 3, 2, 1]
v.loc[2]; // 3
v.loc[4]; // 5
v.loc[-1]; // 9
v.loc[-2]; // 8
v.loc['1:7:2'] = [22, 44, 66];
originalArray; // [1, 22, 3, 44, 5, 66, 7, 8, 9]
import { view, mask, select, slice } from "array-view";
const originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const subview = view(originalArray)
.subview('::2') // [1, 3, 5, 7, 9]
.subview(mask([true, false, true, true, true])) // [1, 5, 7, 9]
.subview(select([0, 1, 2])) // [1, 5, 7]
.subview('1:'); // [5, 7]
subview.loc[':'] = [55, 77];
originalArray; // [1, 2, 3, 4, 55, 6, 77, 8, 9, 10]
`
Читать полностью…
Кто может разобратся почему неработает данный код
// Получаем элемент input
let input = document.getElementById('myInput');
// При изменении значения input сохраняем его в локальном хранилище
input.addEventListener('change', function() {
localStorage.setItem('inputValue', input.value);
});
// При загрузке страницы проверяем, есть ли сохраненное значение в локальном хранилище и загружаем его
window.onload = function() {
if (localStorage.getItem('inputValue')) {
input.value = localStorage.getItem('inputValue');
}
};