1 回答

TA貢獻1834條經驗 獲得超8個贊
如果您希望搜索結果僅出現在單獨的頁面上,則您將希望搜索表單具有指向它的操作。該術語將被傳遞到該頁面,然后該頁面可以對其進行處理并顯示搜索結果。
該模板演示了這個確切的流程:
現場演示: https: //long-pig.cloudvent.net/
這是一個非常好的解決方案,因為您的網站查看者只需在執行搜索時加載并運行該代碼,這對于合理大小的索引來說可以節省大量成本。
用上面的代碼粗略地復制它:
從{% include search-lunr.html %}您的index.html.
把這個放在index.html:
<form action="{{ site.baseurl }}/search/" method="get">
<input type="text" name="q">
<input type="submit" value="Search">
</form>
然后在你的search.html:
...
{% include search-lunr.html %}
<script>
function getQueryVariable(variable) {
var query = window.location.search.substring(1),
vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] === variable) {
return decodeURIComponent(pair[1].replace(/\+/g, '%20')).trim();
}
}
}
var query = decodeURIComponent((getQueryVariable("q") || "").replace(/\+/g, "%20"));
lunr_search(query);
</script>
...
- 1 回答
- 0 關注
- 152 瀏覽
添加回答
舉報