1

アプリでWindows8検索チャームを使用できるようにしたいのですが、MSDNの広範な検索ドキュメントを確認したにもかかわらず、最初のステップが欠落しているようです。まず、プロジェクトマニフェストで検索を使用することをすでに宣言し、ヘッダーにコードを追加して、をにリンクdefault.htmlしましたsearchResults.js file

次に、ドキュメントは、システム検索の使用は「機能する」はずだと示唆しています。これが発生しないのはどうしてですか。検索を実行しても、デフォルトの空白の検索結果ページでアプリが開きません。私は自分のdefault.jsページに以下を追加しようとしましたが、役に立ちませんでした:

  // When the user submits a search query
Windows.ApplicationModel.Search.SearchPane.getForCurrentView().onquerysubmitted =
    // Call the function 
    function (eventObject) {

        winJS.log && WinJS.log("User submitted the search query: " + eventObject.queryText, "sample", "status");
};

私は何が欠けていますか?検索チャームを取得して実際にアプリをアクティブ化し、結果ページを表示するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

C#プロジェクトで検索を行っています。スタートアップのjsプロジェクトを作成しましたが、検索は2分以内に機能していました。これが私がしたことです

検索契約を追加し、[新規追加]->[検索契約]をクリックします

デフォルトでは、jsファイルはsearchResults.jsと呼ばれます

ホームページまたはdefault.htmlページで、searchResults.jsへの参照を追加します

これが私のものです

<head>
    <meta charset="utf-8" />
    <title>App4</title>

    <!-- WinJS references -->
    <link href="//Microsoft.WinJS.1.0/css/ui-dark.css" rel="stylesheet" />
    <script src="//Microsoft.WinJS.1.0/js/base.js"></script>
    <script src="//Microsoft.WinJS.1.0/js/ui.js"></script>

    <!-- App4 references -->
    <link href="/css/default.css" rel="stylesheet" />
    <script src="/js/default.js"></script>
    <script src="/searchResults.js"></script>
</head>

最後に、アプリマニフェストの宣言で、[サポートされている宣言の検索]を選択します。私の場合、右側のプロパティは空です。

以上です!onQuerySubmitted関数にブレークポイントを設定しました。アプリを実行し、検索チャーム(Windowsキー+ Q)を呼び出してテキストの入力を開始し、Enterキーを押すとブレークポイントに到達するはずです。

appModel.Search.SearchPane.getForCurrentView().onquerysubmitted = function (args)
{
    nav.navigate(searchPageURI, args); // put breakpoint here
};

お役に立てれば。

于 2012-11-17T23:59:31.907 に答える