Я бы хотел, чтобы мое веб-приложение предназначалось для . Добавить на главный экран для пользователей на Android + Chrome. (вдохновленный: Chromium Blog entry)Служебный работник, бросающий ошибки при извлечении MP3-аудио
Для этого мне нужен рабочий работает, даже манекен. (Хрому нужен Service Worker в качестве доказательства того, что я серьезно отношусь к веб-приложениям)
Итак, я создал манекена Service Worker без содержания. Он обслуживается правильными заголовками no-cache, обслуживается через HTTPS и распространяется на весь домен.
Thing работа вообще, но каждый раз, когда я пытаюсь создать элемент аудио на лету:
jQuery('<audio><source src="/beep.mp3" type="audio/mpeg"></source></audio>');
... моя консоль показывает некоторые несчастий (взяты из Chrome Canary для лучшей передачи сообщений от службы рабочего потока , но в основном тот же выход в течение Chrome):
Mixed Content: The page at 'https://my.domain.com/some/page' was loaded over HTTPS, but requested an insecure video ''. This content should also be served over HTTPS.
GET https://my.domain.com/beep.mp3 400 (Service Worker Fallback Required)
Я полагаю, что важно отметить, что, очевидно, я не извлекая ресурс напрямую, просто создание элемента и позволяя браузер извлечь MP3.
MP3 действительно набирается (я могу запустить метод .play() на аудиоэлементе). Просто ошибки в моем консольном журнале накапливаются и заставляют меня подозревать, насколько надежным этот подход. Кроме того, кстати, в Канарских (но не текущих) сбой изменит мой индикатор «HTTPS lock» с зеленого на «предупреждение» (так, будущая проблема).
Источник звука относится к тому же домену, что и страница, и оба являются HTTPS. Таким образом, сообщение «Смешанное содержимое» из потока рабочего пользователя является странным; он ссылается на видео с '' в качестве URL-адреса.
Вопрос: Я делаю что-то неправильно или это ошибка Chrome? Нужно ли мне больше, чем пустой (пустой) рабочий службы? Если я делаю что-то не так, я бы хотел найти решение лучшей практики/долгосрочного типа, а не взломать что-то вместе, но я возьму то, что смогу получить. ;)
попробуйте использовать весь URL в атрибуте SRC: https://my.domain.com/beep.mp3 – Anarcociclista
Где сервисный код уборщица? –