根据存储的值显示不同的默认页面

时间:2014-12-05 00:18:05

标签: windows-store-apps winjs

我正在尝试创建一个Windows应用商店应用,其中默认页面(应用加载时出现的第一个页面)会根据存储的值发生变化。

我有以下文件

- js
   |- default.js
- default.html
- page_A.html
- page_B.html

default.js包含以下代码:

if (localStorage["value"] == undefined || localStorage["value"] == "pageA") {
    localStorage["value"] = "pageA";
    //WinJS.Navigation.navigate("page_A.html");
    window.location.assign = "page_A.html";
} else {
    localStorage["value"] = "pageB";
    //WinJS.Navigation.navigate("page_B.html");
    window.location.assign = "page_B.html";
}

WinJS.Navigation代码根本不起作用。所以我尝试使用window.location并且发生了什么而不是加载实际页面,它会加载一个空页面,如下所示。

我尝试将hrefassign用于windows.location对象。有趣的是,似乎,如hrefassign加载页面,因为如果page_A/B.jspageA/B.html相关联并且有一个简单的console.log语句,然后日志语句会被记录,但它不会呈现页面。

有什么想法吗?我已经被困了一段时间。

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试将default.js放在项目的根目录,page_A.htmlpage_B.html旁边,或者,我不知道这是否有效,您可以尝试调用这些页面与..\page_X.html

此外,您可以在导航中添加错误处理函数,以防其他情况发生,但您没有看到。

WinJS.Navigation.navigate('page_A.html', {}).then(function () {
    // it worked!
}, function (err){
    // something went wrong
});