我正在用HTML和jQuery编写自定义搜索栏。
我到目前为止的代码:
$(document).ready(function() {
$('.submit_on_enter').keydown(function(event) {
// enter has keyCode = 13, change it if you want to use another button
if (event.keyCode == 13) {
this.form.submit();
return false;
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="outercontain">
<div class="innercontain" align="center">
<form action="https://google.com/" method="get">
<input autocomplete="off" class="submit_on_enter" type="text" name="q" placeholder="Search Art">
</form>
</div>
</div>
我想要做的是仅在html /中的URL本身中限制对特定站点的搜索。在实际的Google网页上,这很容易-您只需输入"site:website.com"
即可完成。但是在此设置中,name="q"
已附加到任何搜索中。如果我放弃了name="q"
部分,则搜索将无法正常工作(仅进入Google的主页),并且如果我篡改了url,那么它只会搜索我添加的内容。 DuckDuckGo也可以接受。
答案 0 :(得分:0)
您需要将site:website.com
(而不是密钥)作为q
值的一部分。
$(document).ready(function() {
$('.submit_on_enter').keydown(function(event) {
// enter has keyCode = 13, change it if you want to use another button
if (event.keyCode == 13) {
this.form.q.value = "site:website.com " + this.form.q.value
this.form.submit();
return false;
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="outercontain">
<div class="innercontain" align="center">
<form action="https://google.com/" method="get">
<input autocomplete="off" class="submit_on_enter" type="text" name="q" placeholder="Search Art">
</form>
</div>
</div>
旁注:由于iframe中stackoverflow的安全性,该代码段实际上不会重定向。