@javascript_all

Страница 6 из 10
hamper ?
28.06.2016
11:35:32
странно, вроде хоть что то должно выдавать судя по https://nodejs.org/docs/latest-v0.10.x/api/http.html#http_http_get_options_callback

может глюк самого домена... например сокет не закрыват

Нехис
26.07.2016
18:19:59
котаны уапрос

Допустим на страничке есть несколько сотен однотипных элементов. И по ходу их генерации я каждым элементом подписываюсь на некое глобальное событие. и по приходу события вся эта куча говна например триггерится и меняет своё состояние. насколько сильно оно будет лагать например?

Google
hamper ?
26.07.2016
18:23:46
Много от чего зависит, от браузера, от того что конкретно за элемент и что за состояние он меняет (на сколько сложно браузеру будет пересчитать положение других элементов).

Нехис
26.07.2016
18:24:29
меняется, скажем класс элемента

они все остаются на месте.

hamper ?
26.07.2016
18:24:56
И не проще на всех их навесить общий класс и подписать все разом после генерации?

Нехис
26.07.2016
18:25:01
но цвета, там, фон, размер вот это всё.

hamper ?
26.07.2016
18:25:13
А класс меняет отображение элементов или просто логическая метка?

Надо пробовать...

Нехис
26.07.2016
18:25:23
не. они независимо могут меняться.

класс меняет отображение.

hamper ?
26.07.2016
18:25:57
А что за событие то?

Нехис
26.07.2016
18:26:17
это я к чему. что быстрее перебрать каждый элемент в цикле и присвоить ему нужный класс или если оно само по эвенту обновится?

запрос - результат - отобразить.

Google
Нехис
26.07.2016
18:26:58
но отобразить в дохуя местах.

просто эвентом-то оно уйдет в условную параллельность, а если я циклами буду фигачить то оно же лочиться будет на момент пока цикл крутит.

наверное таки эвенты...

hamper ?
26.07.2016
18:28:49
На эвенте тоже параллельности вроде не будет, все обработчики в один tick попадут

Хотя тоже не уверен

Нехис
26.07.2016
18:29:36
ну callback'и же не строго последовательно будут идти. там всё равно какая-то обработка может успеть вклиниться.. наверн..

а вот цикл хрен порвёшь..

ладн. завтра попробую.

hamper ?
26.07.2016
18:31:31
Вот не факт, все вызовы функций синхронны, на сколько я помню когда вешаешь много колбеков оно просто циклом их в порядке добавления перебирает внутри и вызывает

Вадим
26.07.2016
18:34:10
Мне кажется,что фреймворки так и работают. Тупо в цикле на каждый элемент вешают события

hamper ?
26.07.2016
18:38:36
Я бы написал асинхронный итератор и перебрал бы им массив по классам

var setElement = function(elems) { if (elems.length === 0) return var e = elems.shift() // что то делаем с e setImmediate(setElement, elems) } setElement(/*сюда массив элементов*/)

Sparrow
26.07.2016
18:44:30
блин, ну вы придумали... пришел аякс — делаешь выборку элементов и меняешь у них класс. зачем на каждый событие вешать?

hamper ?
26.07.2016
18:45:42
Ну вот я примерно то же и сделал бы, для того что бы не тормозить интерфейс как раз асинхронный цикл который я написал выше

Нехис
26.07.2016
19:03:02
Sparrow
26.07.2016
19:03:26
так везде и поменяется

Нехис
26.07.2016
19:04:03
И не думать потом. Добавляется новый тип элементов со своим обработчиком и подписявается на уже существующее событие.

Sparrow
26.07.2016
19:06:46
сколько у тебя элементов то? сто пиццот?

чот мне кажется, что отдельный вызов на каждый сильно затратнее будет

учти, что у тебя браузер толком ничего не сможет делать, даже скроллить, пока всю эту толпу событий не отработает

Google
hamper ?
26.07.2016
19:15:01
Эвенты немного не для того придуманы, они придуманы когда ты пишешь свой компонент который может генерить события а другой модуль или разработчик захочет их обработать. Когда известны все элементы обрабатывающие события их проще перебрать циклом в одном обработчике

Анатолий
26.07.2016
20:00:34
меняется, скажем класс элемента
Ангуляр и нокаут так работают

У меня в таблице 600+ строк по событию меняются классы у каждой строки. Перерисовка почти мгновенная

Нехис
26.07.2016
20:02:06
Збсь

Ивенты да?

Анатолий
26.07.2016
20:03:05
Не могу сказать точно

Ангулярщики есть тут? Они скажут

hamper ?
26.07.2016
20:05:25
У меня в таблице 600+ строк по событию меняются классы у каждой строки. Перерисовка почти мгновенная
Ну я так и без ангуляра на чистом жс делал, логи от бота в жабере отображал, при чем там еще и с анимацией, ничего не тормозит

Sparrow
21.08.2016
01:03:57
https://medium.com/friendship-dot-js/i-peeked-into-my-node-modules-directory-and-you-wont-believe-what-happened-next-b89f63d21558#.qwp7wu7z3

если кто-то еще не

Нехис
02.09.2016
18:10:08
According to the UI Events specification un-trusted events (i.e. those created by JavaScript) should not invoke the default action. 'click' is the only event that is a legacy permitted case. The isTrusted support was added in https://www.chromestatus.com/features/6461137440735232 which identifies trusted events from un-trusted events. We wish to prevent synthetic events from executing the default action, aligning with Firefox and IE.

Да они охуели!

Анатолий
02.09.2016
20:12:05
то есть нельзя будет искусственно нажать клавишу?

Нехис
02.09.2016
20:35:20
Типтого !

Sparrow
07.09.2016
19:35:00
а монго кто-нибудь собирал из сорцов? сколько ему места для сборки надо?

Vadim
08.09.2016
07:48:09
Типтого !
Да нет же. Описано, что ты сможешь указать, что event trusted и использовать его как раньше. Это, по сути, нужно для дополнительного уровня защиты. Будет чуть сложнее, но безопаснее.

Анатолий
09.09.2016
18:10:46
кто рюхает в ноде?

это норм что внутри модуля не видна функция объявленная перед его require?

модуль:

module.exports = { test: function() { blabla(); } }

Google
Анатолий
09.09.2016
18:12:59
вызываю отсюда:

function blabla(){} require('./myModule');

мои стереотипы порваны :)

функции надо глобализировать как-то?

Нехис
09.09.2016
19:21:21
function blabla(){} require('./myModule');
Так вродеж var module = require... module.test()?

Анатолий
09.09.2016
19:21:50
не... мне нужно объявить функцию, а потом поюзать её внутри подключаемых модулей

я так понял единственный способ - объявить её в модуле и подключить этот модуль в других модулях

Нехис
09.09.2016
19:22:18
Ну по идее не должно быть ее видно...

Была даже либа отдельная в npm для этого.

Но там шло как раз через обращение к экземпляру этого объекта...

hamper ?
09.09.2016
19:54:22
не... мне нужно объявить функцию, а потом поюзать её внутри подключаемых модулей
в exports возвращай инициализатор модуля в который передавай контекст с нужной функцией

что бы было require('./myModule')(blabla); например

module.exports = function (fn) { return { test: function() { fn(); } } }

Анатолий
09.09.2016
19:57:39
о, круто, спасибо

Vadim
21.09.2016
13:48:37
Народ, что-то туплю... Как получить список всех событий, которые срабатывают на странице?

Например, какие-то события генерирует ютуб плеер и дергает их, могу я получить список этих событий?

Роман
21.09.2016
13:54:50
Тебе нужен список слушателей?

Vadim
21.09.2016
13:56:55
список генераторов событий.

Короче, задача такая: Есть нонейм плеер, который при запуске вызывает событие, его я знаю. Я точно знаю, что есть такое же событие при паузе ролика

Google
Vadim
21.09.2016
13:57:38
мне надо его найти

документация к плееру потеряна с годами

другой плеер сейчас не вариант

Роман
21.09.2016
13:58:39
Ищи в коде вызов dispatchEvent, событие ты знаешь, ищи по имени. Плеер не флешовый?

Vadim
21.09.2016
13:59:02
плеер флешовый

Роман
21.09.2016
14:00:38
Флеш обернут javascript функцией, транслирующей события. Найди её и добавь туда console.log, увидишь, что передается при нажатии паузы.

Можно декомпилировать .swf-ку конечно и посмотреть имена событий.

Анатолий
21.09.2016
14:23:59
я так понимаю, какой бы ни был плеер, он должен соответствовать джаваскрипт-объекту, который и файрит событие, я прав?

если да, то можно как-то вытащить все хендлеры у объекта

а... стоп. туплю. надо не хендлеры отловить, а сами события

есть функция для консоли monitorEvents() но она только стандартные ивенты ловит

если используется jQuery, то всё упрощается: надо переопределить jQuery.event.trigger

Роман
21.09.2016
14:33:32
Скорее всего javascript событие генерируется javascript-обёрткой для плеера. Но тип события вероятно, все-же передается из флеша как строковая переменная. Значение этой переменной тебя и интересует?

Анатолий
07.10.2016
16:30:19
node.js windows пытаюсь рестартовать скрипт, запущенный через node scriptname.js, с помощью самого этого скрипта. но чот не получается. пробовал кто?

остановился на том, что делаю child_process.spawn, а аргументами передаю cmd.exe и массив [c, node.bat] где node.bat - файл, в котором запускается node scriptname.js ужасный костыль, и всё равно не работает

при старте ноды она прибивает свой старый экземпляр - и в этот момент грохается всё - и новый, и старый

Страница 6 из 10