我想允许我的应用使用Windows 8搜索超级按钮,尽管经历了MSDN上的大量搜索文档,但我似乎缺少第一步。首先,我已经声明要在Project Manifest中使用搜索,并且已经在标头中添加了将default.htmlsearchResults.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");
};


我想念什么?如何获得搜索超级按钮以实际激活我的应用并显示结果页面?

谢谢。

最佳答案

我正在搜索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
};


希望这可以帮助。

关于javascript - 如何在Windows 8应用中实现和激活搜索?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13435820/

10-12 00:19
查看更多