这只是一个很小的技巧,在您没有时间或愿望构建真正优秀的站点内搜索解决方案的网站上可能会有所帮助。 Google.com 本身可以执行针对特定站点范围的搜索。 诀窍是让人们使用这种特殊语法到达那里,而他们甚至不知道它。
制作搜索表单
<form action="https://google.com/search" target="_blank" type="GET">
<label>
Search CSS-Tricks on Google:
<input type="search" name="q">
</label>
<input type="submit" value="Go">
</form>
当提交该表单时,我们将拦截它并将值更改为包含特殊语法
var form = document.querySelector("form");
form.addEventListener("submit", function (e) {
e.preventDefault();
var search = form.querySelector("input[type=search]");
search.value = "site:css-tricks.com " + search.value;
form.submit();
});
就是这样。
好主意。 但使用 Google,您根本不需要 JavaScript。 只需使用表单并添加
sitesearch
作为隐藏参数即可对于 Bing,其中站点需要位于搜索文本框内部,您的建议有效,并且在那里我们需要 JavaScript。
关于这一点需要注意的一点是:如果您使用的是 Google Analytics(或类似的分析平台),此方法可能会对您的来源/媒介数据造成严重破坏并夸大您的会话次数。 基本上,任何使用搜索的人都会被重新归类为来自 Google 的新会话,而不是他们最初访问网站的方式。
我知道这主要针对开发/设计,但我认为我应该指出这一点。 不过,这是一个获得更好的内部搜索的不错技巧!