iOS чувствительна к hapi.js answer.file() и директиве статического каталога

Мне нужна помощь с инертным модулем hapi.js. Я пытаюсь отобразить встроенное видео HTML5 с помощью hapi.js. Я использую обработчик для передачи видео с помощью reply.file('filename.mp4').type('video/mp4'). Это отлично работает в Google Chrome на OSX, однако не работает на iPad или iPhone на iOS.

Если вместо этого я подаю тот же файл, используя директиву каталога HAPI. т. е. я запрашиваю файл более напрямую.

server.register(Inert, function () {});

server.route({
    path: "/static/{path*}",
    method: "GET",
    handler: {
        directory: {
            path: "./static",
            listing: false,
            index: false
        }
    }
});

затем видео отлично встраивается как в Chrome, так и в iOS.

Кажется, есть разница между использованием reply.file() и прямой передачей файла, но только на iOS. Я сравнил заголовки HTTP в обоих случаях, и все выглядит одинаково, поэтому я в тупике.


person Mooshwa    schedule 21.12.2016    source источник


Ответы (1)


В порядке. Я сделал еще немного отладки и понял, что это не имеет ничего общего с HAPI. На самом деле это баг IOS, ссылка на который здесь:

HTML5-видео/аудиоплеер включен мобильный Safari (iOS 7 и iOS 10) исключает файлы cookie

Причина, по которой мой статический обработчик работал, заключалась в том, что он не проверял файл cookie, который не отправлялся в результате этой ошибки IOS в медиаплеере.

person Mooshwa    schedule 21.12.2016
comment
Вы нашли исправление для answer.file? - person codeisforeva; 04.07.2017