Не удается прочитать свойство onLaunched неопределенного в режиме киоска

Я хочу определить режим киоска Google Chrome. Я использую этот код для определения режима киоска.

chrome.app.runtime.onLaunched.addListener(function (launchData) {

            alert("chrome");
            launchData.isKioskSession; //true or false
        });

Я получаю эту ошибку.

Uncaught TypeError: Невозможно прочитать свойство 'onLaunched' из неопределенного

Нужно ли добавить ссылку?

2 ответа

Код, который вы перечислили, будет работать, если вы работаете в приложении Chrome. Если вы работаете в браузере Chrome, запущенном с параметром --kiosk, тогда chrome.app.runtime будет неопределенным

Опция --kiosk функционально эквивалентна работе в полноэкранном режиме, и вы можете использовать полноэкранный API, чтобы обнаружить это.

var fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled;

Я не знаю, как определить опцию --kiosk напрямую.

https://developer.chrome.com/apps/app_lifecycle

Это говорит:

В зависимости от того, как запускается ваше приложение, вам может потребоваться обработать данные запуска на странице событий. По умолчанию данные запуска отсутствуют, когда приложение запускается средством запуска приложения. Для приложений, которые имеют обработчики файлов, вам нужно обработать параметр launchData.items, чтобы разрешить их запуск с файлами.

Я считаю, что вам нужно проверить, если объект launchData присутствует в первую очередь.

chrome.app.runtime.onLaunched.addListener(function (launchData) {
  alert("chrome");
  if(typeof launchData !== 'undefined') {
    // Perform actions with launchData
    launchData.isKioskSession; //true or false
  }
});
Другие вопросы по тегам