Taras
нашёл другой способ.
<?php
$user_agent = $_SERVER["HTTP_USER_AGENT"];
if (strpos($user_agent, "Firefox") !== false) $browser = "Firefox";
elseif (strpos($user_agent, "Opera") !== false) $browser = "Opera";
elseif (strpos($user_agent, "Chrome") !== false) $browser = "Chrome";
elseif (strpos($user_agent, "MSIE") !== false) $browser = "Internet Explorer";
elseif (strpos($user_agent, "Safari") !== false) $browser = "Safari";
else $browser = "Неизвестный";
echo "Ваш браузер: $browser";
?>
Но теперь возникла прблема, не понимаю, как подконектить это к вёрстке или к скрипт на js, что бы по поределёному браузеру открывался определённый блок.
Костя
ну так засунь в ДОМ элемент с атрибутом типа data-browser
Костя
а в жс уже разрулишь
Костя
или повешай на body класс
AI
Народ, привет. Такой вопрос. на ноде генерирую Uint16Array в браузере его нужно по протоколо превратить в набор данных. Функция декодера есть. Проблема в передаче: если нода передает бинарные данные клиент их не понимает, в результате консоль выводит квадратики. Следует передавать base64? или есть варианты ?
Костя
или атрибут прямо на него
Igor
и зачем это здесь?
Костя
Костя
нашел в коде коммент
Maxim
Joseph
2gis
У них нельзя рисовать свою карту
500 Internal Server Error
Joseph
leafletjs
Я уже измучился пытаюсь ее заставить работать уже где то час
Joseph
Joseph
По их квик старту
Joseph
:(
Joseph
По записям в квик гайде должно работать так
Joseph
Но нет
Egor
#Реакт #Удаленка #Проект
Разыскивается реактер для верстки веб-фронтенда.
Объем работы: ~2 недели
Оплата: 60-70К
Из технологий и подходов используется nested sortable drag'and'drop, websocket, авторизация по токену.
Необходимо будет написать динамику и взаимодействие с готовым rest-api.
Статичные html+css уже готовы, необходима только динамика и взаимодействие с сервером.
Пишите @EgorKarpov
Дима
Вакансии без вилки запрещены
Дима
No money — no honey
Костя
о
Костя
no token - no cracker
Oleg
Это как в любом стартапе участвовать за процент
Oleg
Только почему-то те кто делают крипто-стартапы думают они лучше
Костя
потому что они бабок нахаляву срубают нехило)
Костя
а ведь предъевить претензии потом некому)
Anonymous
Фильтровать массив с помощью reduce - как это с точки зрения производительности?
Vitaly
А чем filter не угодил?
Dmitri
примерно также, как и с помощью .filter
Anonymous
declare var mixedArr: mixed[]
const filtered = mixedArr.reduce(
(scope, next): string[] =>
typeof next === 'string' ?
[...scope, next] : scope,
[],
)
Vitaly
Так фильтровать нужно или фолд?
Елена
Вакансия: #middle #senior #javascript #js #react
Компания: #Innovative people
Локация: #Москва #Павелецкая
З/п: 100 – 180 к
Контакты: e.beymanova@inpglobal.com
Информация о системе и нашей компании:
BPM Camunda - немецкая система по управлению бизнес-процессами, https://camunda.com
Наш сайт: http://inpglobal.com
Сайт нашей команды BPMTeam: http://bpmteam.ru
С более подробным описанием позиции можно ознакомиться по ссылке: http://www.inpglobal.com/ru/carrier/vacancies/?id=a0Iw000000PEpv3EAD
Всё что касаемо денег и бонусов:
Финансовые ожидания обсуждаем индивидуально по итогам собеседования в зависимости от опыта, квалификации и ожиданий кандидата.
Денежное вознаграждение состоит из оклада и премиальной составляющей.
Компания оказывает помощь в компенсации стоимости обучения и сертификации.
Anonymous
Vitaly
Ну тогда фитьтр. А потом уже и тип меняй
Vitaly
Или мап а потом фильтер
Anonymous
Самый безопасный способ - способ при котором не нужно кастовать тип.
Vitaly
Неа, фолды - они для свертки списков, а если из списка нужен список, то filter, map
Anonymous
В моём примере filtered имеет тип string[].
Vitaly
И так. Так работать будет, но без фолда православней в этом случае
from
Anonymous
Если же я просто отфильтрую массив, тип останется mixed[]
Cenator 🐈
какой метод в лодаше пройдет по двум массивам одной длины и вернет количество совпадений на одинаковых индексах?
Vitaly
Anonymous
Map :)
И что он мне даст?
Vitaly
Тип поменять поможет
Anonymous
А зачем?
Vitaly
Уже в отыильтрованном списке
from
const newArr: NewType[] = mixedArr.filter(x => typeof x === 'string') as NewType[]
from
как-то так
Anonymous
from
тайпскрипт
Anonymous
У меня Flow. но там есть аналогисная конструкция. Но кастовать придётся 2 раза, через any.
from
да я так я не уверен что безошибочно написал, но идею надеюсь передал
Anonymous
Так я создаю небезопасное место. Надёжнее, если я получу правильный вывод типов.
from
в флоу уверен абсолютно аналогично делается
Anonymous
Но то, что напрямую нельзя кастовать, это правильно.
from
ой мучайтесь со своими типами сами))
Anonymous
Да я про reduce ваще спрашивал. =)
Anonymous
Ответ получил уже.
from
ну редьюс как раз порнуха мне кажется
from
прогибаешься под систему типов)
from
когда что-то для человека является очевидным и понятным с одного взгляда, а чтобы систему типов заставить понять то же самое надо потратить много времени, это значит, что либо что-то не так, либо надо сбрасываться на any-или-как-там во флоу
Anonymous
Если не ухудшает бустродействие, то норм. Жертвовать безопасностью - это намного хуже, кмк.
Anonymous
А что происходит при сортировке? Какой алгоритм сортировки у метода сорт?
from
да какая безопасность/опасность тут
Anonymous
from
filter тебе не может не дать массив)
Anonymous
Понятно. =)
from
ой там линтер ещё свои пять копеек скажет
from
не разработчики, а удовлетворятели тулзов :)