我想允许我的应用使用Windows 8搜索超级按钮,尽管经历了MSDN上的大量搜索文档,但我似乎缺少第一步。首先,我已经声明要在Project Manifest中使用搜索,并且已经在标头中添加了将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");
};
我想念什么?如何获得搜索超级按钮以实际激活我的应用并显示结果页面?
谢谢。
最佳答案
我正在搜索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/