setTimeout
이 기사는 Mark Brown이 검토했습니다. Sitepoint 컨텐츠를 최대한 활용 한 Sitepoint의 모든 동료 검토 자에게 감사합니다! 메소드를 사용하여 GCSE의 AJAX 호출이 완료 될 때까지 기다린 다음 (입력이 DOM에 첨부되어 있는지 확인한 다음 JavaScript를 통해 속성을 변경하기 때문에 잘못된 답변입니다.
GCSE 계정을 만듭니다
수동 렌더링 함수
필드에 넣으십시오. 사용자가 쿼리를 제출 한 후 검색이 리디렉션되는 곳입니다. 또한 GCSE는 제공된 URL에서 결과 필드를 렌더링 할 것으로 예상됩니다.
함수 페이지가로드되었는지 확인하고로드되면 콜백 함수는 를 렌더링하는 데 도움이됩니다. 나중에 문서가로드 된 후.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>GCSE test</title> </head> <body> <h1>GCSE test</h1> <div id="searchForm" class="gcse-search-wrapper"></div> <div id="searchResults" class="gcse-results-wrapper"></div> <🎜> </body> </html>
및 <div>
가 각각 호출됩니다.
<<> 기능은 실제 마법이 발생하는 곳입니다.
results <🎜🎜> 또는 <🎜 🎜 <🎜 🎜 🎜> 또는 둘 다 ).
<<> 또한,var config = { gcseId: '006267341911716099344:r_iziouh0nw', // 替换为您的搜索引擎ID resultsUrl: 'http://localhost:8080', // 替换为您的本地服务器地址 searchWrapperClass: 'gcse-search-wrapper', resultsWrapperClass: 'gcse-results-wrapper' }; var renderSearchForms = function () { if (document.readyState == 'complete') { queryAndRender(); } else { google.setOnLoadCallback(function () { queryAndRender(); }, true); } }; var queryAndRender = function() { var gsceSearchForms = document.querySelectorAll('.' + config.searchWrapperClass); var gsceResults = document.querySelectorAll('.' + config.resultsWrapperClass); if (gsceSearchForms.length > 0) { renderSearch(gsceSearchForms[0]); } if (gsceResults.length > 0) { renderResults(gsceResults[0]); } }; var renderSearch = function (div) { google.search.cse.element.render( { div: div.id, tag: 'searchbox-only', attributes: { resultsUrl: config.resultsUrl } } ); if (div.dataset && div.dataset.stylingFunction && window[div.dataset.stylingFunction] && typeof window[div.dataset.stylingFunction] === 'function') { window[div.dataset.stylingFunction](div); // 传递div而不是form } }; var renderResults = function(div) { google.search.cse.element.render( { div: div.id, tag: 'searchresults-only' }); }; window.__gcse = { parsetags: 'explicit', callback: renderSearchForms }; (function () { var cx = config.gcseId; var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); })();
gcseId
resultsUrl
<🎜 🎜> 명령을 실행하십시오. 기본적으로 이것은 LocalHost의 포트 8080 폴더의 내용을 제공합니다.
속성을 추가하십시오.
<<>
Google의 사용자 정의 검색 스타일을 설정할 때 FAQ
예, 모바일 장치에서 Google을 사용하여 검색을 사용자 정의 할 수 있습니다. 프로그래밍 가능한 검색 엔진은 반응 형으로 설계되었으므로보고있는 장치의 화면 크기에 맞게 조정됩니다. CSS를 사용하여 검색 엔진의 모양을 사용자 정의하여 모바일 친화적으로 만들 수 있습니다.
http-server
<<> 스타일 함수
#searchForm
<🎜 🎜> <<> 결론 styling-function
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>GCSE test</title>
</head>
<body>
<h1>GCSE test</h1>
<div id="searchForm" class="gcse-search-wrapper"></div>
<div id="searchResults" class="gcse-results-wrapper"></div>
<🎜>
</body>
</html>
var config = {
gcseId: '006267341911716099344:r_iziouh0nw', // 替换为您的搜索引擎ID
resultsUrl: 'http://localhost:8080', // 替换为您的本地服务器地址
searchWrapperClass: 'gcse-search-wrapper',
resultsWrapperClass: 'gcse-results-wrapper'
};
var renderSearchForms = function () {
if (document.readyState == 'complete') {
queryAndRender();
} else {
google.setOnLoadCallback(function () {
queryAndRender();
}, true);
}
};
var queryAndRender = function() {
var gsceSearchForms = document.querySelectorAll('.' + config.searchWrapperClass);
var gsceResults = document.querySelectorAll('.' + config.resultsWrapperClass);
if (gsceSearchForms.length > 0) {
renderSearch(gsceSearchForms[0]);
}
if (gsceResults.length > 0) {
renderResults(gsceResults[0]);
}
};
var renderSearch = function (div) {
google.search.cse.element.render(
{
div: div.id,
tag: 'searchbox-only',
attributes: {
resultsUrl: config.resultsUrl
}
}
);
if (div.dataset &&
div.dataset.stylingFunction &&
window[div.dataset.stylingFunction] &&
typeof window[div.dataset.stylingFunction] === 'function') {
window[div.dataset.stylingFunction](div); // 传递div而不是form
}
};
var renderResults = function(div) {
google.search.cse.element.render(
{
div: div.id,
tag: 'searchresults-only'
});
};
window.__gcse = {
parsetags: 'explicit',
callback: renderSearchForms
};
(function () {
var cx = config.gcseId;
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
위 내용은 빠른 팁 : Google 사용자 정의 검색 스타일 수동으로 스타일링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!