27

我正在尝试将 Google 搜索框添加到我自己的网站。我希望它搜索谷歌本身,而不是我的网站。我有一些代码可以用来工作,但不再有用:

<form method="get" action="https://www.google.com/search">
<input type="text" name="g" size="31" value="">
</form>

当我尝试进行搜索时,它只是指向 Google 主页。好吧,实际上它指向这里:https ://www.google.com/webhp

有没有人有不同的解决方案?我究竟做错了什么?

4

5 回答 5

25

很抱歉回答一个较旧的问题,但我想澄清最后一个问题。

您对表单使用“get”方法。当您的输入字段的名称为“g”时,它将生成一个如下所示的 URL:

https://www.google.com/search?g=[value from input-field]

但是当您使用 google 搜索时,您会注意到以下 URL:

https://www.google.nl/search?q=google+search+bar

Google 使用“q”查询字符串变量作为搜索查询。因此,将您的字段从“g”重命名为“q”解决了这个问题。

于 2013-04-12T08:21:11.310 回答
20

这是将 google 站点搜索添加到网站的方法之一:

<form action="https://www.google.com/search" class="searchform" method="get" name="searchform" target="_blank">
<input name="sitesearch" type="hidden" value="example.com">
<input autocomplete="on" class="form-control search" name="q" placeholder="Search in example.com" required="required"  type="text">
<button class="button" type="submit">Search</button>
</form>

于 2017-03-21T11:39:32.170 回答
1

想通了,伙计们!对于文本框的名称,您必须使用“q”。我有“g”只是为了我自己的个人喜好。但显然它必须是“q”。

有谁知道为什么?

于 2012-12-12T16:02:14.750 回答
1

无需嵌入!只需简单地将用户发送到 google 并在搜索中添加 var,如下所示:(请记住,代码可能无法在此工作,因此请在浏览器中尝试,如果它不起作用。)希望它有效!

<textarea id="Blah"></textarea><button onclick="search()">Search</button>
<script>
function search() {
var Blah = document.getElementById("Blah").value;
location.replace("https://www.google.com/search?q=" + Blah + "");
}
</script>

    function search() {
    var Blah = document.getElementById("Blah").value;
    location.replace("https://www.google.com/search?q=" + Blah + "");
    }
<textarea id="Blah"></textarea><button onclick="search()">Search</button>

于 2020-03-02T21:11:45.090 回答
0

从 2021 年 3 月 13 日起。我为我的网站制作了这个非常简单的代码https://neculaifantanaru.com/en/how-can-i-integrate-google-search-box-to-my-website-by-implementing-custom-代码.html

第一步。这是搜索框。将此代码复制到 html/php 页面中所需的位置。人们会在这里搜索信息。此表单会将搜索结果发送到另一个名为search.html

    <form action="https://YOUR-WEBSITE.com/search.html" method="get" id="site-search">
        <fieldset>
            <!-- <label for="search">Search in website</label> -->
            <input type="text" name="q" id="q" value="" />
            <button type="submit" class="btn btn-inverse">search</button>
        </fieldset>
    </form>

第二步。创建一个名为 的新 html 页面search.html。并在该部分中添加此代码<head>,更有可能在之前</head>

<script>
  (function() {
    var cx = 'YOUR-NUMBER-CODE';
    var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
  })();
</script>

您可以从此链接获取您的号码代码 https://cse.google.com/cse/all(在这里您必须添加新的搜索引擎。此外,按顺序关闭“搜索整个网络”选项仅在您的网站上而不是整个网络上查找结果)

第三步。将此代码复制<body>到同一页面上的部分中: search.html

<div class="main-content">
<h1>Search the site</h1><p>If you want to search for our articles on a specific topic, write the search term in the form below.</p>

<gcse:searchbox-only></gcse:searchbox-only>
<gcse:searchresults-only></gcse:searchresults-only>
</div>

就这样。

于 2021-04-12T12:13:22.797 回答