无法读取属性' onLaunched'在Kiosk模式中未定义

时间:2015-01-09 09:32:28

标签: javascript jquery google-chrome kiosk-mode

我想检测Google Chrome自助服务终端模式。我正在使用此代码来检测信息亭模式。

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

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

我收到此错误。

未捕获的TypeError:无法读取未定义的属性'onLaunched'

我是否需要添加一些参考?

2 个答案:

答案 0 :(得分:-1)

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

它说:

  

根据您的应用的推出方式,您可能需要处理启动   您的活动页面中的数据。默认情况下,没有启动数据   应用程序由应用程序启动器启动。对于具有文件处理程序的应用程序,   你需要处理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
  }
});

答案 1 :(得分:-1)

如果您在Chrome应用中运行,则列出的代码将有效。如果您使用--kiosk选项启动的Chrome浏览器中运行,那么chrome.app.runtime将是未定义的。

--kiosk选项在功能上等同于在全屏模式下运行,您可以使用Fullscreen API来检测它。

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

我不知道如何直接检测--kiosk选项。