2014-12-05 106 views
0

我正在嘗試創建一個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

回答

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 
}); 
+0

提供的解決方案不起作用。有趣的是,導航在「它工作」部分中調用了該函數,但當前頁面仍然是默認頁面而不是「page_A.html」。 – 2014-12-14 04:15:58

+0

請參閱Kraig的答案:http://stackoverflow.com/a/27384207/23893 – sebagomez 2014-12-14 15:10:40