Windows 8 html/java-script メトロ アプリを開発しています。ユーザーが最初にアプリケーションを起動すると、ユーザーが自分のユーザー名を入力できるテキスト ボックスを含むウェルカム ページが表示されます。ユーザーがボタンを押すと、ユーザー名が保存され、リダイレクトが行われます。このコードは正常に動作します...
var appData = Windows.Storage.ApplicationData.current;
button.onclick = function (e) {
var input = document.querySelector(".welcome #userName").value;
if(input != null && input != "") {
appData.roamingSettings.values["userName"] = input;
WinJS.Navigation.navigate("/pages/items/items.html");
}
}
ユーザーがアプリケーションに 2 回目に入るときに、ユーザーからのアクションなしで、スタート ページからコンテンツ ページへのリダイレクトが発生するようにします。 "、ボタンの onclick 関数と同じ WinJS 呼び出しを試みます。
if (appData.roamingSettings.values.hasKey("userName")) {
WinJS.Navigation.navigate("/pages/items/items.html");
}
問題は、今回はリダイレクトが行われず、アプリケーションが失敗することです..(roamingSettingsには正しい情報が含まれているため、リダイレクトが問題です).コードはready関数内に配置されています.
WinJS.UI.Pages.define("/pages/welcome/welcome.html", {
ready: function (element, options) {
})();
私の質問は、WinJS.Navigation を使用してあるページから別のページへの条件付きリダイレクトを実行する正しい方法と、私のコードの問題は何ですか?