Обнаружить автономный режим на старой версии хрома

Согласно этой статье, display-mode: standalone только может обнаруживать на M48 или более новой версии. Есть ли способ обнаружить режим в старой версии?

Ответ 1

Нет, это невозможно. Проверьте эту статью

@supports для режима отображения поддерживается только с Chrome 48.

Ответ 2

Хотя это не прямой ответ, но он предлагает обходное решение.

Насколько я понимаю статью, вы можете настроить свой сайт (в manifest.json) для открытия с помощью querystring (например), если он открывается с главного экрана. Таким образом, вы можете установить флаг в DOM - допустим добавить класс в тег body. Таким образом, вы можете обнаружить в eitgher css или js, если вы работаете в автономном режиме.

Например:

var isStandalone = false;
if (location.search.indexOf('standalone=true') > -1) {
  isStandalone = true;
  document.body.classList.add('standalone-mode');
}

// from now on you can check if you run in standalone by checking 'isStandalone' param.
header {
  background: red;
}

/* this is a style for standalone mode only */
body.standalone header {
  background: green
}

Ответ 3

Для приложений, обернутых в электрон, вы можете использовать то, что описано здесь: https://github.com/electron/electron/issues/2288

window && window.process && window.process.type

или же

navigator.userAgent.toLowerCase().indexOf(' electron/') > -1;