前几天看到了一个yahoo官方的搜素api,js版的。
搜索了一下,每个大牛都是只把api放上而不写用法,急死俺了。
俺努力了几天后终于得出了一点成果。
也尚有一些问题没解决,暂时把俺怎么用的放上,有路过的给指点下。
未解决问题:
1.firefox下不执行;
2.搜索中文页面会出现那么多转义字符;
3.想处理等待时效果,和连接失败两种情况,没能解决;
页面内容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<script type="text/javascript" src="yahoo_search_api.js"></script>
<script type="text/javascript">
function search()
{
var kw = document.getElementById("key").value;
if (kw == "")
{
alert("请问查询什么?");
document.getElementById("key").focus();
return;
}
var ar = new Object();
ar["Doc"] = escape(kw);
ar["First"] = 1;
ar["Count"] = 10;
var v = document.getElementById("vdiv");
v.innerHTML = "正在查询,请稍等...";
var r = Yahoo_Search.Results(ar);
v.innerHTML = "";
for (k in r)
{
var vl = r[k];
//for (z in vl){document.write(k + "<br />" + z + ":" + vl[z] + "<br /><br />");}
v.innerHTML += "[" + vl["I"] + "] ";
v.innerHTML += "<b><a href='" + vl["Url"] + "'>" + unescape(vl["Title"]) + "</a></b>";
v.innerHTML += "<br />";
v.innerHTML += unescape(vl["Summary"]);
v.innerHTML += "<br /><font color='green'>" + vl["Url"] + "</font>";
v.innerHTML += " <a href='" + vl["ClickUrl"] + "'>cached</a>";
v.innerHTML += "<br /><br />";
}
}
function keydown(e)
{
if(window.event && e.keyCode==13) // IE
{
search();
}
else if(e.which && e.which==13) // Netscape/Firefox/Opera
{
search();
}
}
</script>
</head>
<body>
yahoo
<center>
<input type="text" id="key" οnkeydοwn="keydown(event)"/><input type="button" value="搜索" οnclick="search()" />
</center>
<hr>
<div id="vdiv">
</div>
</body>
</html>
搜索了一下,每个大牛都是只把api放上而不写用法,急死俺了。
俺努力了几天后终于得出了一点成果。
也尚有一些问题没解决,暂时把俺怎么用的放上,有路过的给指点下。
未解决问题:
1.firefox下不执行;
2.搜索中文页面会出现那么多转义字符;
3.想处理等待时效果,和连接失败两种情况,没能解决;
页面内容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<script type="text/javascript" src="yahoo_search_api.js"></script>
<script type="text/javascript">
function search()
{
var kw = document.getElementById("key").value;
if (kw == "")
{
alert("请问查询什么?");
document.getElementById("key").focus();
return;
}
var ar = new Object();
ar["Doc"] = escape(kw);
ar["First"] = 1;
ar["Count"] = 10;
var v = document.getElementById("vdiv");
v.innerHTML = "正在查询,请稍等...";
var r = Yahoo_Search.Results(ar);
v.innerHTML = "";
for (k in r)
{
var vl = r[k];
//for (z in vl){document.write(k + "<br />" + z + ":" + vl[z] + "<br /><br />");}
v.innerHTML += "[" + vl["I"] + "] ";
v.innerHTML += "<b><a href='" + vl["Url"] + "'>" + unescape(vl["Title"]) + "</a></b>";
v.innerHTML += "<br />";
v.innerHTML += unescape(vl["Summary"]);
v.innerHTML += "<br /><font color='green'>" + vl["Url"] + "</font>";
v.innerHTML += " <a href='" + vl["ClickUrl"] + "'>cached</a>";
v.innerHTML += "<br /><br />";
}
}
function keydown(e)
{
if(window.event && e.keyCode==13) // IE
{
search();
}
else if(e.which && e.which==13) // Netscape/Firefox/Opera
{
search();
}
}
</script>
</head>
<body>
yahoo
<center>
<input type="text" id="key" οnkeydοwn="keydown(event)"/><input type="button" value="搜索" οnclick="search()" />
</center>
<hr>
<div id="vdiv">
</div>
</body>
</html>