Javascript可以检测到UWP吗?

时间:2017-05-18 20:24:14

标签: javascript visual-studio uwp xbox-one

我正在使用NodeJS和EaselJS构建一个小游戏,它在浏览器中运行,本地托管。我下载了Visual Studio并开始从它创建UWP的过程,以便我可以在我的Xbox One上播放。 Visual Studio基本上只是中间人,因为我正在使用" Start Page"并将其指向我本地托管的Web服务器以创建应用程序,而不是尝试重新发明轮子。

我希望只有当它作为Window / Xbox应用程序运行时,才能利用某些Windows.UI功能,特别是在电视上显示的Overscan功能。到目前为止,我还无法让JS检测执行类型。我添加了

if (Windows)
{
    Windows.UI.ViewManagement.ApplicationView.getForCurrentView() ...
}

但是当我在常规浏览器中运行它时,我得到一个未定义的Windows的引用错误。我也试过

if(typeof Windows !== 'undefined'){....

这使得浏览器版本工作正常,但Visual Studio中的部署测试也看不到它(我把调试控制台输出确定)。

是否可以最好地执行两个世界,或者我是否需要全力以赴并在VS中开发特定版本的游戏以获得我想要的内容?

2 个答案:

答案 0 :(得分:1)

想出来。 if(typeof)解决方案部分正确,所以指向Shawn。我未能做的是在Visual Studio内部的appxmanifest中包含对URI的WinRT访问。一旦我告诉它在应用程序端实际查找Windows,我就可以获得调试输出并且屏幕正在适当缩放。无论如何,谢谢你看看吧!

答案 1 :(得分:0)

我可以想到两种可能的选择。首先检查对象的类型:

if(typeof Windows != 'undefined')
{
}

其次,在支票前声明变量Windows。在javascript中重新声明变量是可以的。它不会覆盖原作。

var Windows;
if(Windows)
{
}