Javascript 多词谷歌搜索不返回任何结果

Javascript 多词谷歌搜索不返回任何结果,javascript,html,Javascript,Html,我们刚刚在我们的网站上添加了一个新的谷歌自定义搜索,但它不处理多词搜索。如果输入一个单词,它工作正常;如果输入两个或更多单词,它返回“无结果” 此外,当返回结果时,搜索字段会显示如下“Word%20Word%20Word”这样的搜索词 以下是谷歌给我们的代码: <!-- The following javascript appears before the closing </head> tag. --> <script> (function() { var

我们刚刚在我们的网站上添加了一个新的谷歌自定义搜索,但它不处理多词搜索。如果输入一个单词,它工作正常;如果输入两个或更多单词,它返回“无结果”

此外,当返回结果时,搜索字段会显示如下“Word%20Word%20Word”这样的搜索词

以下是谷歌给我们的代码:

<!-- The following javascript appears before the closing </head> tag. -->
<script>
(function() {
var cx = '012938749785999463601:bae5a4ajf2q';
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>

<!-- This tag is inserted where the search box should render -->
 <gcse:searchbox-only></gcse:searchbox-only>

(功能(){
变量cx='012938749785999463601:bae5a4ajf2q';
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);
})();
您可以在以下URL中看到搜索功能:

好的,我已经解决了这个问题,但我不知道如何解决它。如果这是谷歌内部的问题,我可能无法修复它

我注意到的是,如果在搜索字段中键入两个或两个以上的单词,例如“Corned Beef”,则返回“No Results”,但当检查URL时,您会注意到搜索词显示为“Corned%2520Beef”。搜索功能在术语中插入一个额外的“25”,而不是简单的%20。如果手动从URL中删除“25”,则多词搜索通常会返回结果


这可以在上面显示的脚本中修复吗?或者,这是谷歌内部的问题吗?

看来,坏结果的解决方案是将“www”从谷歌控制面板中搜索结果页面的目标URL中删除

对我来说听起来很傻,但是嘿,它起作用了

因此,如果其他人也有同样的问题,请检查您的结果页面“目标URL”,并从中删除“www”

因此,现在,不是:

我们使用:

然后,它就成功了!当然,这些信息不在谷歌帮助页面的任何地方,也不在控制面板的说明中


感谢所有看过这个问题的人。现在一切都正常了。

看来,解决坏结果的办法是在谷歌控制面板的结果页面的目标URL中删除“www”

对我来说听起来很傻,但是嘿,它起作用了

因此,如果其他人也有同样的问题,请检查您的结果页面“目标URL”,并从中删除“www”

因此,现在,不是:

我们使用:

然后,它就成功了!当然,这些信息不在谷歌帮助页面的任何地方,也不在控制面板的说明中


感谢所有看过这个问题的人。现在一切都正常了。

有些东西对字符串进行了双重编码
%25
是对“%”字符的编码方式。它肯定在Google端。使用Firebug进行跟踪显示查询以“q=corned%20beef”的形式发出。响应中有“q=corned%2520beef”。所以,Google的服务器有问题吗?字符串有双重编码
%25
是对“%”字符的编码方式。它肯定在Google端。使用Firebug进行跟踪显示查询以“q=corned%20beef”的形式发出。响应中有“q=corned%2520beef”。那么,谷歌的服务器有问题吗?