Если я обслуживаю свое приложение с http://localhost, в консоли разработчика, я могу сделать window.navigator.storage.estimate().
window.navigator.storage.estimate()
Если я обслуживаю то же приложение с http://example.com, где разрешается example.comдо 127.0.0.1 из моего / etc / hosts, window.navigator не определено.
example.com
window.navigator
Почему?
(Chrome - 71)
Из MDN -> https://developer.mozilla.org/en-US/docs/Web/API/StorageEstimate/quota
Похоже, эта функция доступна только в безопасном контексте, или https://
Но, похоже, Chrome считает localhost также безопасным контекстом, поэтому https:// не требуется.Я предполагаю, что это потому, что localhost обычно используется в целях разработки, и получение сертификата SSL для локальных доменов может быть сложным.
Более подробная информация на https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts, которая подтверждает file:// и localhost длясчитаться безопасным.if (window.isSecureContext) доступен для проверки статуса.
file://
localhost
if (window.isSecureContext)