Html 谷歌CSE在新窗口中打开

Html 谷歌CSE在新窗口中打开,html,xhtml,Html,Xhtml,我想将Google搜索栏集成到我的网站中,使用Google CSE的默认代码,我有: <div id="cse-search-form" style="width: 100%;">Loading</div> <script src="https://www.google.com/jsapi" type="text/javascript"></script> <script type="text/javascript">

我想将Google搜索栏集成到我的网站中,使用Google CSE的默认代码,我有:

        <div id="cse-search-form" style="width: 100%;">Loading</div>
<script src="https://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript"> 
  google.load('search', '1', {language : 'en'});
  google.setOnLoadCallback(function() {
    var customSearchOptions = {};

    var imageSearchOptions = {};
    imageSearchOptions['layout'] = google.search.ImageSearch.LAYOUT_POPUP;
    customSearchOptions['enableImageSearch'] = true;
    customSearchOptions['imageSearchOptions'] = imageSearchOptions;

    var customSearchControl = new google.search.CustomSearchControl(
      '003243520079760326318:WMX-1462312306', customSearchOptions);

    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    var options = new google.search.DrawOptions();
    options.setSearchFormRoot('cse-search-form');
    options.setAutoComplete(true);
    customSearchControl.draw('shop.htm/cse', options);
  }, true);
加载
load('search','1',{language:'en'});
setOnLoadCallback(函数(){
var customSearchOptions={};
var imageSearchOptions={};
imageSearchOptions['layout']=google.search.ImageSearch.layout_弹出窗口;
customSearchOptions['enableImageSearch']=true;
customSearchOptions['imageSearchOptions']=imageSearchOptions;
var customSearchControl=new google.search.customSearchControl(
'0032435200797960326318:WMX-1462312306',customSearchOptions);
customSearchControl.setResultSetSize(google.search.search.FILTERED\u CSE\u RESULTSET);
var options=new google.search.DrawOptions();
options.setSearchFormRoot('cse-search-form');
选项。设置自动完成(true);
customSearchControl.draw('shop.htm/cse',选项);
},对);

然后是样式和

但是我不希望结果在同一个页面上打开,我希望它们在searchresults.htm中打开,其中包含container div

<div id="cse" style="width:100%;"></div> 

如果我填写以下表格:

<form action="http://www.amberantiques.com/searchresults.htm" id="cse-search-box">
    <fieldset style="border:none;">
        <input type="hidden" name="cx" value="003243520079760326318:WMX-1462312306" />
        <input type="hidden" name="ie" value="UTF-8" />
        <input type="text" name="q" size="31" />
        <input type="submit" name="sa" value="Search" />
    </fieldset>
</form>

然后表单将其发送到页面,但不运行搜索,但是如果您在页面上使用Google栏,它将运行搜索

基本上,你是如何让谷歌栏打开搜索结果页面的


干杯

当你为谷歌CSE构建代码时,其中一个外观选项是“两页”——这将允许你在一页上搜索,并在另一页上显示结果。

您可以通过放置此代码进行测试吗

options.enableSearchboxOnly("http://www.amberantiques.com/searchresults.htm");
在这条线之间

var options = new google.search.DrawOptions();
options.setSearchFormRoot('cse-search-form');
这条线呢

var options = new google.search.DrawOptions();
options.setSearchFormRoot('cse-search-form');
然后将以下代码放入searchresults.htm

<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
    function parseQueryFromUrl() {
    var queryParamName = "q";
    var search = window.location.search.substr(1);
    var parts = search.split('&');
    for (var i = 0; i < parts.length; i++) {
        var keyvaluepair = parts[i].split('=');
        if (decodeURIComponent(keyvaluepair[0]) == queryParamName) {
            return decodeURIComponent(keyvaluepair[1].replace(/\+/g, ' '));
        }
    }
    return '';
}

google.load('search', '1', {language : 'en'});
google.setOnLoadCallback(function () {
    var customSearchControl = new google.search.CustomSearchControl(
  '003243520079760326318:WMX-1462312306', customSearchOptions);

    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    customSearchControl.draw('cse');
    var queryFromUrl = parseQueryFromUrl();
    if (queryFromUrl) {
        customSearchControl.execute(queryFromUrl);
    }
}, true);
</script>
加载
函数parseQueryFromUrl(){
var queryParamName=“q”;
var search=window.location.search.substr(1);
var parts=search.split('&');
对于(变量i=0;i
如果这不起作用,你可以简单地阅读谷歌提供的。您将在第节中获得所需的信息。或者您可以在第节中找到它。我想你正在寻找两页的布局


另一个选项是转到,然后使用那里的控制面板根据需要自定义搜索引擎。

如果升级到最新的Google Code V2,则可以通过编辑粘贴的代码来显示结果来实现这一点

<gcse:search></gcse:search>

将此更改为

<gcse:search linktarget="_parent"></gcse:search>

基于上述代码,您可以使用:

<gcse:search newWindow="true"></gcse:search>


根据

从谷歌文档(一个熟悉的故事)中看不明显,但您可以通过在“外观”部分选择“仅搜索结果”选项,非常简单地使用v2自定义搜索代码:

单击“保存并获取代码”并粘贴到searchresults.htm页面

现在,您只需要创建一个简单的搜索框,指向可以放入页眉的页面

e、 g


自定义搜索(免费)或站点搜索(付费)的V2代码为您提供了一系列选项,用于在同一页面上搜索和显示结果,或拥有自己的结果页面

默认情况下,这将在新选项卡或窗口中打开所有结果链接

我有一个问题,我需要在同一个选项卡/窗口上打开搜索结果

我调整了以下代码

<gcse:search></gcse:search>

对此

<gcse:search linktarget="_self"></gcse:search>

我想如果出于某种原因,您的默认行为没有在新选项卡/窗口中打开,并且您需要它,那么您可以尝试以下操作

<gcse:search linktarget="_blank"></gcse:search>

希望这有帮助