Задать вопрос
  • Где купить курсы?

    maly222
    @maly222
    Бот
    Обучение=Практика+Идея.
    Ответ написан
    Комментировать
  • Как понять если мой скрипт открыт в еще одной вкладке?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Можно использовать шину обмена сообщениями BroadcastChannel – есть во всех современных браузерах.

    Не совсем понял задачу. Если достаточно отключать остальные, когда новая вкладка запускает скрипт, то новичок просто запускает сообщение «всем молчать!» (все выключаются) и начинает сам слушать сообщения, пока ещё одна вкладка не появится с предложением остальным выключиться.

    Если нужно вести список вкладок, добавлять новую, при отключении активной, снова запускать одну из заглушенных — чуть сложнее. Скрипт, запускаясь, генерит уникальный ID для себя. Так он сможет отличать себя от других. Нужно поддерживать где-то общий массив вкладок – это можно и в LocalStorage.
    Сложный момент - снова запустить скрипт в одной из заглушенных вкладок, когда закрылась активная. Закрытие вкладки не генерит обрабатываемого события, поэтому придётся как-то с таймерами постоянно проверять, «а не запуститься ли мне?». Может что-то умнее можно придумать.. Сейчас лень )
    Ответ написан
    1 комментарий
  • Как можно улучшить этот код?

    RAX7
    @RAX7
    Можно для функции range использовать генератор, в этом случае не будет выделятся память под ненужный массив
    function* range(from, to, step = 1) {
      if (to === undefined) [from, to] = [0, from];
      for (let i = from; i < to; i += step) yield i;
    }
    
    for (let v of range(1, 10)) {
      console.log(v);
    }
    Ответ написан
    2 комментария