如何从 Javascript 检测到环境是 Windows 8 Metro 应用程序?
更新:澄清一下,我的 Javascript 代码既可以在任何浏览器上运行,也可以作为 Win8 应用程序的一部分运行。由于 Win8 应用程序对 JS 代码施加了安全限制,我想检测代码何时在 Win8 应用程序中运行。
如何从 Javascript 检测到环境是 Windows 8 Metro 应用程序?
更新:澄清一下,我的 Javascript 代码既可以在任何浏览器上运行,也可以作为 Win8 应用程序的一部分运行。由于 Win8 应用程序对 JS 代码施加了安全限制,我想检测代码何时在 Win8 应用程序中运行。
回答我自己:
检测这种情况的一种方法是检查某些特定于 MS 的对象或名称空间的存在。其中之一是 Windows。例如:
if (typeof Windows != "undefined") {
// Running in Win8 app
} else {
// Running in a browser
}
我使用这段代码:
var isWinJS = !!window.Windows && /^ms-appx:/.test(location.href);
我想你可以使用:
WorkerNavigator.useragent
检测它的属性