मुझे अपने पृष्ठ पर खोज परिणामों के बाद मूल रूप से कुछ jQuery कोड चलाने की आवश्यकता है।Google कस्टम खोज परिणामों को लोड करने के बाद कॉल फ़ंक्शन?
<!-- Put the following javascript before the closing </head> tag. -->
<script>
(function() {
var cx = 'xxxxxxxxx';
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>
मैं कोड लेकिन कोई लाभ नहीं हुआ में विभिन्न स्थानों में डाल की कोशिश की किया है मेरी समारोह कॉल:
<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'en', style : google.loader.themes.V2_DEFAULT});
google.setOnLoadCallback(function() {
var customSearchOptions = {};
var orderByOptions = {};
orderByOptions['keys'] = [{label: 'Relevance', key: ''},{label: 'Date', key: 'date'}];
customSearchOptions['enableOrderBy'] = true;
customSearchOptions['orderByOptions'] = orderByOptions; var customSearchControl = new google.search.CustomSearchControl(
'zzzzzzzzzzzz', customSearchOptions);
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
var options = new google.search.DrawOptions();
options.setAutoComplete(true);
customSearchControl.setAutoCompletionId('zzzzzz:zzzzzzz+qptype:3');
options.enableSearchResultsOnly();
customSearchControl.draw('cse', options);
function parseParamsFromUrl() {
var params = {};
var parts = window.location.search.substr(1).split('\x26');
for (var i = 0; i < parts.length; i++) {
var keyValuePair = parts[i].split('=');
var key = decodeURIComponent(keyValuePair[0]);
params[key] = keyValuePair[1] ?
decodeURIComponent(keyValuePair[1].replace(/\+/g, ' ')) :
keyValuePair[1];
}
return params;
}
var urlParams = parseParamsFromUrl();
var queryParamName = "q";
if (urlParams[queryParamName]) {
customSearchControl.execute(urlParams[queryParamName]);
}
}, true);
</script>
या V2 कोड: मैं या तो v1 कोड का उपयोग कर सकते हैं।
मैं एक समारोह है कि गतिशील रूप से कंटेनर खोज परिणामों में दिखाई की ऊंचाई सेट करने की जरूरत है, तो एक बार परिणाम लोड मैं इसे अन्यथा मेरा पेज प्रदर्शित करता है गलत तरीके से कॉल करने की आवश्यकता है।
यहां उनके वी 2 एपीआई दस्तावेज का एक लिंक है: https://developers.google.com/custom-search/docs/element#cse-element और v1: https://developers.google.com/custom-search/docs/js/cselement-reference। मैं कुछ भी नहीं देख सकता जहां खोज परिणाम प्रतिपादन पर कॉलबैक है, केवल प्रारंभिक पर। पागल लगता है हालांकि इस तरह के कुछ के लिए समर्थन नहीं है।
(function() {
var cx = 'xxxxxxxxx';
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;
gcse.onreadystatechange = gcse.onload = function() {
console.log("executed");
SetMainHeight(20);
};
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();
सांत्वना कभी नहीं outputs "मार डाला":
यहाँ मैं v2 के साथ की कोशिश की है है। इसके अलावा मैं अपने कंसोल में नोटिस मैं निम्नलिखित त्रुटि है:
Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL http://www.google.com/cse?q=test&client=google-coop&hl=en&r=s&cx=xxxxx …s1%2Csr1&rurl=http%3A%2F%2Flocalhost%3A58257%2FSearch%3Fq%3Dtest#slave-1-1. Domains, protocols and ports must match.
सुनिश्चित नहीं हैं कि अगर खोज कार्य अभी भी ठीक काम करता है के रूप में मायने रखती है। मैं इसे httph पर स्थानीयहोस्ट पर परीक्षण कर रहा हूं।
आप कंटेनर पर एक न्यूनतम ऊंचाई सेट कर सकते हैं ताकि खोज विफल रहता है कम से कम कुछ एक साथ लेआउट को पकड़ने के लिए संरचना होगी? – Stuart
पहले से ही न्यूनतम ऊंचाई है। मैं अपने चिपचिपा पाद लेख और मेरे पृष्ठ पर विभिन्न कंटेनरों के अन्य गतिशील आकार का काम कर रहा हूं, इसलिए मूल रूप से जब भी jQuery के माध्यम से ऊंचाई बदल जाती है, तो मुझे कुछ ऊंचाइयों को फिर से समझना होगा। – SventoryMang