2011-12-11 21 views
9

मैं अपनी साइट में Google खोज बार को एकीकृत करना चाहेंगे, और गूगल सीएसई द्वारा चूक कोड का उपयोग कर रहा है:गूगल सीएसई नई विंडो में खोलने

 <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); 

शैली इसके बाद और </div>

लेकिन मैं परिणाम एक ही पृष्ठ पर खोलने के लिए नहीं करना चाहते हैं, मैं उन्हें searchresults.htm जो कंटेनर 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 बार उपयोग करें, यह खोज ठीक चलाता है।

असल में, आप परिणाम पृष्ठ को खोलने के लिए Google बार कैसे प्राप्त करते हैं?

चीयर्स

उत्तर

3

आप अपने Google सीएसई, देखो में से एक के लिए कोड के निर्माण और महसूस विकल्प "दो पृष्ठ" है कर रहे हैं - एक और पर परिणाम प्रदर्शित जो आपको एक पृष्ठ पर खोज करने के लिए अनुमति देगा, और । enter image description here

5

क्या आप इस कोड को डालकर परीक्षण कर सकते हैं?

options.enableSearchboxOnly("http://www.amberantiques.com/searchresults.htm"); 
इस लाइन

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> 

के बीच

बसपढ़ सकते हैं Google द्वारा प्रदान की गई। आपको अपनी वांछित जानकारी Designing the Look and Feel with the Control Panel अनुभाग में मिल जाएगी। या आप इसे Designing the Look and Feel with XML अनुभाग में पा सकते हैं। मुझे लगता है कि आप दो पेज लेआउट की तलाश में हैं।

एक और विकल्प http://www.google.com/cse/manage/all पर जाना है और फिर अपनी इच्छा इंजन को अनुकूलित करने के लिए वहां नियंत्रण कक्ष का उपयोग करना है।

13

यदि आप नवीनतम Google Code V2 में अपग्रेड करते हैं तो आप परिणाम दिखाने के लिए पेस्ट को संपादित करके इसे प्राप्त कर सकते हैं।

<gcse:search></gcse:search> 

को यह बदलें
<gcse:search linktarget="_parent"></gcse:search> 
0

बिल्डिंग ऊपर कोड पर, आप इस्तेमाल कर सकते हैं:

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

अनुसार

0
नहीं

स्पष्ट करने के लिए Google's documentation. गूगल प्रलेखन में देखने से (एक परिचित कहानी) लेकिन आप इसे v2 कस्टम खोज कोड बी का उपयोग करके बहुत आसानी से कर सकते हैं y में विकल्प का चयन 'केवल परिणाम' 'देखो और महसूस' अनुभाग:

Look and feel selection screen with 'Results only' thumbnail selected

क्लिक करें 'सहेजें और कोड प्राप्त करें' और अपने searchresults.htm पर चिपकाएं।

अब आपको बस एक साधारण खोज बॉक्स बनाने की आवश्यकता है जो उस पृष्ठ को इंगित करता है जिसे आप अपने पेज हेडर में डाल सकते हैं।

उदा।

<form action="http://www.amberantiques.com/searchresults.htm"> 
<input type="search" name="q"/> 
<input type="submit" value="Go"/> 
</form> 
2

के लिए कस्टम खोज (मुक्त) या साइट खोज (भुगतान) V2 कोड आप खोज और एक ही पृष्ठ पर परिणामों को प्रदर्शित करने या उसके अपने परिणाम पृष्ठ होने के लिए विकल्पों की एक श्रृंखला देता है।

डिफ़ॉल्ट रूप से यह सभी नए लिंक या विंडो में सभी परिणाम लिंक खोल देगा।

मुझे यह समस्या थी जहां मुझे उसी टैब/विंडो पर खोलने के लिए खोज परिणामों की आवश्यकता थी।

मैं निम्नलिखित कोड

<gcse:search></gcse:search> 
इस

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

मुझे लगता है कि यदि किसी कारण से आपका डिफ़ॉल्ट व्यवहार एक नया टैब/विंडो में खोलने के लिए नहीं है

समायोजित और आप इसे करने के लिए आप तो जरूरत निम्नलिखित

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

उम्मीद है कि इससे मदद मिलती है।

संबंधित मुद्दे