我想允许我的应用程序使用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");
};
我错过了什么?如何获得搜索魅力以实际激活我的应用并显示结果页面?
感谢。
答案 0 :(得分: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>
最后在app manifest声明中,选择Search for supported Declarations。在我的情况下,右边的属性是空的。
就是这样! 我在onQuerySubmitted函数中添加了一个断点。我运行应用程序,调用搜索超级按钮(Windows键+ Q) 开始输入文字并按下输入它应该点击断点!
appModel.Search.SearchPane.getForCurrentView().onquerysubmitted = function (args)
{
nav.navigate(searchPageURI, args); // put breakpoint here
};
希望这有帮助。