Size: a a a

2021 January 31

P

PWG in javascript_ru
mark
Не спорю, в идеале всё переписать под fetch и проблемы бы не было. Но тут на эту форму столько всего завязано в том числе и recaptcha. Самым простым решением было бы отучить Safari (WebKit) сбрасывать отрисовку, при выполнении
.submit()
пока «выполняется длительный процесс» на стороне сервера, так же как это делают все остальные браузеры.😔
Ну, если мы тут уже за легаси лампово разговариваем, то есть ретро-солюшин с айфреймом

https://stackoverflow.com/questions/168455/how-do-you-post-to-an-iframe
источник

DM

Denys Mikhalenko in javascript_ru
Владислав
function browser() {
 var ua = navigator.userAgent;
 
   if (ua.search(/MSIE/) > 0 )return 'Internet Explorer';
   if (ua.search(/Firefox/) > 0) return 'Firefox';
   if (ua.search(/Opera/) > 0) return 'Opera';
   if (ua.search(/Chrome/) > 0) return 'Google Chrome';
   if (ua.search(/Safari/) > 0) return 'Safari';
   if (ua.search(/Konqueror/) > 0) return 'Konqueror';
   if (ua.search(/Iceweasel/) > 0) return 'Debian Iceweasel';
   if (ua.search(/SeaMonkey/) > 0) return 'SeaMonkey';
 
   // Браузеров очень много, все вписывать смысле нет, Gecko почти везде встречается
   if (ua.search(/Gecko/) > 0) return 'Gecko';

   // а может это вообще поисковый робот
   return 'Search Bot';
}
подскажите, почему при заходе через IE11 функция возвращает Gecko? Как можно проверить браузер пользователя на IE11?
Ну, патамушто useragent у IE11:
"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; rv:11.0) like Gecko"
И тут нет MSIE
источник

DM

Denys Mikhalenko in javascript_ru
Вообще, мог бы и сам погуглить
источник

S

SheenV in javascript_ru
Подскажите пожалуйста , не могу найти решение.

Мне необходимо написать написать функцию, которая проходится по массиву вида
[
 { info: {}, sub: [{ info: {}, sub: [] }] },
 { info: {}, sub: [{ info: {}, sub: [{}, {}] }] },
]
вложенность может быть бесконечной, каждый объект в sub повторяет структуру родителя, всегда есть { info: {} , sub:[] }

и из исходного массива сформировать массив где достанны все sub чья длина не 0 и все остальные объекты , по факту создать единый массив без вложенностей в саб , а так же достать из объекта info ключ титл

[
 { title: "bla", info: {}, sub: [] },
 { title: "bla", info: {}, sub: [] },
 { title: "bla", info: {}, sub: [] },
 { title: "bla", info: {}, sub: [] },
 ...
]


может есть у кого какие идеи ?
источник

DS

Daria Shuleko in javascript_ru
SheenV
Подскажите пожалуйста , не могу найти решение.

Мне необходимо написать написать функцию, которая проходится по массиву вида
[
 { info: {}, sub: [{ info: {}, sub: [] }] },
 { info: {}, sub: [{ info: {}, sub: [{}, {}] }] },
]
вложенность может быть бесконечной, каждый объект в sub повторяет структуру родителя, всегда есть { info: {} , sub:[] }

и из исходного массива сформировать массив где достанны все sub чья длина не 0 и все остальные объекты , по факту создать единый массив без вложенностей в саб , а так же достать из объекта info ключ титл

[
 { title: "bla", info: {}, sub: [] },
 { title: "bla", info: {}, sub: [] },
 { title: "bla", info: {}, sub: [] },
 { title: "bla", info: {}, sub: [] },
 ...
]


может есть у кого какие идеи ?
flatMap
источник

S

SheenV in javascript_ru
Сейчас посмотрю, спасибо
источник

S

SheenV in javascript_ru
вроде бы вышло то что хотел, спасибо еще раз
источник

DS

Daria Shuleko in javascript_ru
SheenV
вроде бы вышло то что хотел, спасибо еще раз
Очень рада)
источник

DS

Daria Shuleko in javascript_ru
SheenV
вроде бы вышло то что хотел, спасибо еще раз
Но ты не осознал что делает map
источник

DS

Daria Shuleko in javascript_ru
SheenV
вроде бы вышло то что хотел, спасибо еще раз
Посмоьри ещё. filtr
источник

S

SheenV in javascript_ru
Тут же загвоздка была в вложенности
По этому я добавил ещё один вызов этой же функции которой дал уже el.sub в качестве массива

Вроде осознал что делает мап
Он возвращает новым массивом все элементы что прошли условие
источник

S

SheenV in javascript_ru
function createList(arr) {
 let list = []
 arr.flatMap(el => {
   if(el.sub.length !== 0) {
     list.push(...el.sub)
     for (let i = 0; i < el.sub.length; i++) {
       createList(el.sub)
     }
   }
   list.push(el)
   return list
 })
 list.forEach(el => {
   el.title = el.info.title
 })
 return list
}
источник

S

SheenV in javascript_ru
Вот как то так вышло хД
источник

P

PWG in javascript_ru
Дичь
источник

P

PWG in javascript_ru
В цикле n-раз запихивается один и тот же массив
источник

P

PWG in javascript_ru
Зачем?
источник

P

PWG in javascript_ru
Кто-то не умеет в тестовый набор данных для самопроверки?
источник

DS

Daria Shuleko in javascript_ru
Я утратила нить.
Мне кажется что должно быть не так.
источник

S

SheenV in javascript_ru
Может и дичь , я сам уже запутался ;D
источник

S

SheenV in javascript_ru
источник