Есть ли способ опубликовать список всех зарегистрированных пользователей сервиса? Допустим, что я зарегистрировал/установил несколько сервисных работников. Могу ли я получить список массива имен файлов через js?Список хромированных зарегистрированных сервисных работников
ответ
Видимо я нашел два способа, который работает хорошо для меня (для хрома): один использует ярлык команда:
chrome://serviceworker-internals/
Другое одно:
перейти к Developers Tool -> Resources -> Service Workers
Невозможно получить «зарегистрированных» сервис-работников браузера программно с веб-страницы, так как веб-страница может получить доступ только к работникам служб, которые зарегистрированы для своей области. Но если вы ищете способ, чтобы получить те, а затем вызвать navigator.serviceWorker.getRegistrations
получить обещание, устраняющее в массив зарегистрированных работников службы:
navigator.serviceWorker.getRegistrations().then(function(registrations) {
registrations.forEach(function(v) { console.log('service worker: ' + v) });
});
Если вы действительно хотите получить «все в браузере» зарегистрирован рабочие, вы можете сделать это, не программным путем открытия этих адресов:
Firefox
about:serviceworkers
Chrome
chrome://serviceworker-internals/
Opera
browser://serviceworker-internals
Смотрите также: Is ServiceWorker Ready? для уточненного списка отладки хелперов.
(. По-видимому, есть также способ сделать это программно в расширение Firefox)
Насколько я знаю, API не является зарегистрированным зарегистрированным, поскольку веб-работники имеют ограниченный доступ к 'window'' document' и 'parent'. Простым обходным решением было бы сохранить ссылки Работников в объект JS ... –
Это поможет точно узнать, что вы подразумеваете под «всеми браузерами» и «Я» в вашем вопросе. Вы действительно хотите, чтобы все рабочие службы, зарегистрированные на любой странице в любой области? Или вы просто хотите, чтобы все обслуживающие рабочие регистрировались на страницах в заданной области? И «Я» расширение Firefox/Chrome или веб-страницу? –