Javascript运行时错误:';应用程序未定义';

Javascript运行时错误:';应用程序未定义';,javascript,winjs,windows-applications,Javascript,Winjs,Windows Applications,我需要知道这是否正确。我刚刚开始使用WinJS进行应用程序开发。我已经确定了问题的根源并解决了它,但我不知道这是否是正确的方法。请帮助 // Optimize the load of the application and while the splash screen is // shown, execute high priority scheduled work. ui.disableAnimations(); var p = ui.processAll().then(function

我需要知道这是否正确。我刚刚开始使用WinJS进行应用程序开发。我已经确定了问题的根源并解决了它,但我不知道这是否是正确的方法。请帮助

// Optimize the load of the application and while the splash screen is
// shown, execute high priority scheduled work.

ui.disableAnimations();
var p = ui.processAll().then(function () {
    //return nav.navigate(nav.location || Application.navigator.home, nav.state);
        return nav.navigate(nav.location || app.local, nav.state)
    }).then(function () {
        return sched.requestDrain(sched.Priority.aboveNormal + 1);
    }).then(function () {
        ui.enableAnimations();
    });

问题出在第一个
。然后()。注释行是默认行,我已更改它以使应用程序正常工作。我完全不知道它是什么。请告诉我它的意思和更改的内容。顺便说一句,“
app
”是
WinJS.Application
,而应用程序是
navigator.js
home
属性所在的WinJS命名空间。

此错误表明在执行此代码时未加载navigator.js。应用程序名称空间完全是任意的,与WinJS.Application无关,仅在navigator.js中定义,因此如果未加载该文件,则该名称空间将不存在

顺便说一下,WinJS名称空间只是JavaScript中模块模式的形式化,可以帮助您防止全局名称空间变得混乱。声明类似navigator.js的命名空间可以:

 WinJS.Namespace.define("Application", {
     PageControlNavigator: WinJS.Class.define( 
只需在全局命名空间中创建一个名为“Application”的对象,然后为其定义成员。(顺便说一句,您可以将“应用程序”更改为任何您想要的内容。navigator.js中的任何其他内容都不依赖于它,而navigator.js是来自Visual Studio中的应用程序模板的内容,不属于WinJS本身。)

因此,我再次怀疑,您的default.html中没有(或不管正确的路径是什么),指向它的路径不正确,或者可能是在其他代码尝试执行后加载的。尝试在WinJS.Namespace.define上设置断点,查看该文件是否已加载,断点是否已命中