私はWindows8の検索コントラクト機能、特に検索コントラクトをプロジェクトに追加したときに作成されるデフォルトのsearchResults.jsファイルを使用しています。メインウィンドウではなく、一時停止または終了した状態のアプリを検索しようとすると、問題が発生します。
このためのコードは次のとおりです。
// Handles when a users performs a search and the app is not already the main app
WinJS.Application.addEventListener("activated", function (args) {
//If activation kind is search...
if (args.detail.kind === appModel.Activation.ActivationKind.search) {
args.setPromise(ui.processAll().then(function () {
// If there is no current navigation location
if (!nav.location) {
// Declare object
nav.history.current = { location: Application.navigator.home, initialState: {} };
}
// Else navigate to searchPageURI,
return nav.navigate(searchPageURI, { queryText: args.detail.queryText });
}));
}
});
コードを分解するために、自分でコメントを追加しました。これで前提がわかりました。このコードは、アプリがどのようにアクティブ化されたかを確認し、既存のナビゲーション場所であるかどうかに応じて2つの異なるプロセスを実行します。ただし、アプリを実行して外部から検索すると、次のエラーが発生しますJavaScript runtime error: 'Application' is undefined
。それは次の行を参照しています:
nav.history.current = { location: Application.navigator.home, initialState: {} };
誰かがこれが起こっている理由と私が定義したこと、または私がそれをどこで定義すべきかを説明できますか?