Google AJAX 搜索 API 集成与多源搜索结果展示实现
作者:小括号时间:2026-10-25 13:44:45浏览:479
本文介绍了如何使用 Google AJAX 搜索 API 在网页中集成搜索功能。通过 JavaScript 加载库并实例化 SearchControl,配置多个 WebSearch 以限制特定站点,同时添加博客、视频、新闻、图片及本地地图搜索。代码展示了如何设置结果集大小、自定义标签与样式,并通过 tabbed 模式绘制控件,实现多源信息的统一展示。
Google AJAX 搜索 API 集成与多源搜索结果展示实现
Google AJAX 搜索 API 相关文档可参考:http://code.google.com/intl/zh-CN/apis/websearch/docs/
具体实现代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Google AJAX 搜索 API</title>
<style type="text/css">
#searchcontrol .gsc-control
{
width: 100%;
}
#searchcontrol .gsc-result-cnblogs .gs-title
{
color:Red;
}
</style>
<script src="https://www.google.com/jsapi?key=ABQIAAAAWUT8aaIj9mtqQa087LjVOhTPB5B7LRDljl2Cr4-
JwBNft1mFrRRmR1RoYEUCZCj0dtS2gIc8Al4-VA"
type="text/javascript"></script>
<script language="Javascript" type="text/javascript">
google.load("search", "1");
function OnLoad() {
//搜索设置
var options = new google.search.SearcherOptions();
//当搜索结果为空时显示内容
options.setNoResultsString('查询结果为空!');
//搜索控件实例化
var searchControl = new google.search.SearchControl();
//每次显示8个搜索结果(取值范围:1-8)
searchControl.setResultSetSize(8);
//网页搜索
var siteCnblogs = new google.search.WebSearch();
//标头
siteCnblogs.setUserDefinedLabel("本站");
//样式后缀名
siteCnblogs.setUserDefinedClassSuffix("jb51");
//站点限制
siteCnblogs.setSiteRestriction("jb51.net");
searchControl.addSearcher(siteCnblogs, options);
//局部搜索
var siteZjfree = new google.search.WebSearch();
siteZjfree.setUserDefinedLabel("素材搜索");
siteZjfree.setSiteRestriction("sc.jb51.net");
searchControl.addSearcher(siteZjfree, options);
//全网搜索
searchControl.addSearcher(new google.search.WebSearch(), options);
//添加博客搜索
searchControl.addSearcher(new google.search.BlogSearch(), options);
//添加视频搜索
searchControl.addSearcher(new google.search.VideoSearch(), options);
//添加新闻搜索
searchControl.addSearcher(new google.search.NewsSearch(), options);
//添加图片搜索
searchControl.addSearcher(new google.search.ImageSearch(), options);
//添加本地地图搜索
var localSearch = new google.search.LocalSearch();
//地图中心标记 测试时可使用“大雁塔”
localSearch.setCenterPoint("西安,钟楼");
searchControl.addSearcher(localSearch, options);
//绘制搜索
var drawOptions = new google.search.DrawOptions();
drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);
searchControl.draw(document.getElementById("searchcontrol"), drawOptions);
//执行搜索查询
searchControl.execute("google api");
}
//框架加载完成后调用
google.setOnLoadCallback(OnLoad);
</script>
</head>
<body>
<div id="searchcontrol">
加载中...
</div>
</body>
</html>作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
