Синхронный запрос через fetch

Да, знаю, плохо, отвратительно и всё такое. Но иногда нужно. Например мне понадобилось при написании Service Worker, для возможности подмены запрашиваемого для загрузки url.. Реализовал так:

JavaScript: перехват всех http/https запросов страницы

Прилетела задача перехватить URL всех загрузок тайлов на странице с размещенной Яндекс картой. В принципе если бы был простой случай, то всё решилось бы созданием прототипа для функции XMLHttpRequest , что-то в духе:

Но возник один нюанс, карта располагается в iframe, а прототипы «вниз» не распространяются. Единственным способом осталось написать сервис Service Worker, который будет отлавливать все запросы..

На странице добавляем функцию загрузки сервиса:

Далее в sw.js добавим слушательсобытия fetch, и реализацию отправки перехваченых url на сервер:

Серверная часть woodpecker.php:

В результате в файл url.txt на сервере пишутся все запрошенные url.

Отладка сервиса в FireFox возможна на вкладке about:debugging#/runtime/this-firefox, ищем там свой сервис, нажимаем «исследовать»

Pixi.js: игра «жизнь»

Продолжаю на досуге изучать 2D движек для работы с графикой на javascript. Решил написать игру «жизнь» со следующими правилами:

У каждого жителя есть возраст,пол и профессия.

  • Жители двигаются по всему полю хаотично
  • При достижении возраста 120 лет житель умирает
  • Если два жителя сталкиваются между собой и они разного пола от 18 до 50 лет, тогда они рожают ребенка

Сначала определим объекты карты:

Зададим переменные для игры:

Напишем процедуры генерации зданий и жителей:

Создадим сцену и запустим время:

Javascript: Открыть страницу на новой вкладке, передав на неё данные через POST

Есть несколько вариантов решения данной задачи Самым простым из них является размещение на странице скрытой формы, заполнение её данными в нужный момент, и принудительный submit. Например как-то так:

nmp — ошибка проверки самоподписанного сертификата

При установке модуля через nmp, иногда возникает ошибка вида:

Причин возникновения её может быть множество. У меня например — из-за антивируса Касперского, который имеет свойство подпехивать свои сертификаты в промежуток трафика SSL. Что делать? Одним из решений может быть отключение у npm проверки подлинности SSL. Это конечно плохое решение, но в моём случае оказалось единственным вариантом

1 2 3 10