亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > JavaScript > 正文

利用jsonp跨域調(diào)用百度js實(shí)現(xiàn)搜索框智能提示

2019-11-20 09:10:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

項(xiàng)目中常常用到搜索,特別是導(dǎo)航類(lèi)的網(wǎng)站。自己做關(guān)鍵字搜索不太現(xiàn)實(shí),直接調(diào)用百度的是最好的選擇。
使用jquery.ajax的jsonp方法可以異域調(diào)用到百度的js并拿到返回值,當(dāng)然$.getScript也可以實(shí)現(xiàn)跨域調(diào)用js。 

ok,了解了jsonp的原理和應(yīng)用后,我們看看百度的智能提示是如何做的
在chrome的調(diào)試窗口下看看百度搜索發(fā)出的請(qǐng)求。當(dāng)輸入關(guān)鍵字“a”,請(qǐng)求如圖: 

用firebug看下請(qǐng)求的參數(shù),如圖:

請(qǐng)求方式:get請(qǐng)求
請(qǐng)求參數(shù):wd明顯是要搜索的關(guān)鍵字;cb是請(qǐng)求回來(lái)的處理函數(shù),名字可以隨便給;t是時(shí)間戳,防止緩存的;p不知道什么意思,每次請(qǐng)求都給3就可以了;sid也不知道什么意思,不要也可以請(qǐng)求,如果想要也可以帶上,值就是上面截圖的值。

 請(qǐng)求地址和參數(shù)都知道了,于是寫(xiě)下如下js測(cè)試是否可以拿到關(guān)鍵字提示(源碼里的test.html頁(yè)面): 

var qsData = { 'wd': ‘a(chǎn)', 'p': '3', 'cb': 'getData', 't': new Date().getMilliseconds().toString() };  $.ajax({   async: false,   url: "http://suggestion.baidu.com/su",   type: "GET",   dataType: 'jsonp',   jsonp: 'jsoncallback',   data: qsData,   timeout: 5000,   success: function (json) {   },   error: function (xhr) {   } });

qsData封裝所有請(qǐng)求要發(fā)送的參數(shù);getData是自定義的名稱(chēng),用于處理返回的關(guān)鍵字(以下示例代碼把請(qǐng)求回來(lái)的關(guān)鍵字打印到了FireBug的控制臺(tái)): 

 function getData(data) {   var Info = data['s']; //獲取異步數(shù)據(jù)   console.log(Info);  } 

監(jiān)控下文本框,實(shí)時(shí)的發(fā)送ajax請(qǐng)求并拿回?cái)?shù)據(jù)是這樣的: 

ok,測(cè)試可用,的確可以拿到關(guān)鍵字提示。但是總不能把一堆關(guān)鍵字放到前臺(tái)讓用戶看,至少得跟百度一樣,可以用鼠標(biāo)和鍵盤(pán)方向鍵從候選詞框里選詞吧。
最關(guān)鍵的來(lái)了,現(xiàn)在開(kāi)始寫(xiě)完整的智能提示并配合鼠標(biāo)和鍵盤(pán)對(duì)候選詞的操作(源碼里的index.html頁(yè)面),實(shí)現(xiàn)如下功能:
 1.即時(shí)監(jiān)控字母鍵和數(shù)字鍵,按下就發(fā)ajax請(qǐng)求(也可以設(shè)置延遲發(fā)請(qǐng)求,源碼里有);同時(shí)監(jiān)控空格、退格、Delete、Enter等鍵;
 2.鼠標(biāo)移入彈出層高亮選中的行,點(diǎn)擊可上屏;
 3.按鍵盤(pán)上下方向鍵可以選擇候選詞,回車(chē)提交跳轉(zhuǎn)到百度搜索頁(yè)面;
 4.點(diǎn)擊頁(yè)面其他部位自動(dòng)隱藏彈出框;
 5.按ESC鍵隱藏彈出框 

 監(jiān)控鼠標(biāo)和鍵盤(pán)輸入的js(autoComplete.js 源碼里有更詳細(xì)的注釋?zhuān)?nbsp;

var timeoutId; //延遲請(qǐng)求服務(wù)器var highlightindex = -1; //高亮標(biāo)記$(function () { $("#searchText").keyup(function (event) {  var myEvent = event || window.event;  var keyCode = myEvent.keyCode;  //console.log(keyCode);  //監(jiān)控鍵盤(pán)  if (keyCode >= 65 && keyCode <= 90 || keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 111 || keyCode >= 186 && keyCode <= 222 || keyCode == 8 || keyCode == 46 || keyCode == 32 || keyCode == 13) {   //延時(shí)操作   //clearTimeout(timeoutId);   //timeoutId = setTimeout(function () {   //   timeoutId = FillUrls();   //    }, 500)   FillUrls(); //異步請(qǐng)求   if (highlightindex != -1) {    highlightindex = -1;   }  }  else if (keyCode == 38 || keyCode == 40) {   if (keyCode == 38) {  //向上    var autoNodes = $("#auto").children("div")    if (highlightindex != -1) {     autoNodes.eq(highlightindex).css("background-color", "white");     highlightindex--;    } else {     highlightindex = autoNodes.length - 1;    }    if (highlightindex == -1) {     highlightindex = autoNodes.length - 1;    }    autoNodes.eq(highlightindex).css("background-color", "#ebebeb");    var comText = autoNodes.eq(highlightindex).text();    $("#searchText").val(comText);   }   if (keyCode == 40) { //向下    var autoNodes = $("#auto").children("div")    if (highlightindex != -1) {     autoNodes.eq(highlightindex).css("background-color", "white");    }    highlightindex++;    if (highlightindex == autoNodes.length) {     highlightindex = 0;    }    autoNodes.eq(highlightindex).css("background-color", "#ebebeb");    var comText = autoNodes.eq(highlightindex).text();    $("#searchText").val(comText);   }  } else if (keyCode == 13) {  //回車(chē)   if (highlightindex != -1) {    var comText = $("#auto").hide().children("div").eq(highlightindex).text();    highlightindex = -1;    $("#searchText").val(comText);   } else {    $("#auto").hide();    $("#searchText").get(0).blur();   }  } else if (keyCode == 27) { //按下Esc 隱藏彈出層   if ($("#auto").is(":visible")) {    $("#auto").hide();   }  } });

最后實(shí)現(xiàn)效果展示??梢允髽?biāo)選擇候選詞也可以鍵盤(pán)方向鍵選擇,點(diǎn)擊即可上屏,回車(chē)直接跳到百度頁(yè)面:

源碼下載:http://xiazai.VeVB.COm/201608/yuanma/baidusearch(VeVB.COm).rar

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩中文字幕观看| 久久久久久久久久婷婷| 日本www在线| 天天影院图片亚洲| 欧美一级淫片aaaaaa| 五月天丁香综合久久国产| 青青草影院在线观看| 久久精品91久久久久久再现| 91www在线观看| 国产无遮挡一区二区三区毛片日本| 精品国产视频一区二区三区| 国产精品久久久久久久久久新婚| 欧美精品三级在线| 主播福利视频一区| 欧美日韩午夜激情| 日韩在线国产精品| 在线视频精品一区| 国产精品一区二区黑丝| 露脸国产精品自产在线播| 亚洲成人av免费观看| 亚洲毛茸茸少妇高潮呻吟| 8x8x视频在线| 亚洲爆乳无码精品aaa片蜜桃| 在线观看91av| 欧美精品久久久久久久多人混战| 亚州精品一二三区| 亚洲日本在线视频观看| 99re这里只有精品在线| 中文一区二区在线观看| 亚洲人妖在线| 无遮挡亚洲一区| 国产亚洲精品久久久久久777| 成人免费视频观看视频| 国产精品久久久久久久久久久久午夜片| 亚洲va码欧洲m码| 深夜福利亚洲导航| 在线免费av片| 国产乱女淫av麻豆国产| 欧美日韩在线观看一区二区| 日韩va亚洲va欧美va久久| 成人午夜短视频| 亚洲 欧美 中文字幕| 一级做a爱片性色毛片| 亚洲最好看的视频| 精品国产乱码久久久久久久| 91精品一区| а 天堂 在线| 一区二区三区韩国免费中文网站| 精品97人妻无码中文永久在线| 亚洲欧洲成人在线| 日本不卡在线| 夜夜嗨一区二区三区| 久久精品国产免费观看99| 日韩中文在线| 97免费观看视频| 欧美国产亚洲另类动漫| 中文字幕免费在线播放| 亚洲一区二区三区色| 激情婷婷亚洲| 欧美激情网站| 九色综合国产一区二区三区| 91成人免费视频| 日韩亚洲欧美一区二区| 老女人性生活视频| 欧美黑人巨大精品一区二区| 亚洲久久视频| 国产在线日韩精品| 久久99热国产| 欧美 日韩 成人| www色aa色aawww| 成人性教育av免费网址| 久久天堂av综合合色蜜桃网| 国产老女人精品毛片久久| 午夜老司机福利| 久久精品国产免费观看| 国产乱码精品一区二区三| 久久99这里只有精品| 亚洲一区二区三区精品在线| 51精品国产黑色丝袜高跟鞋| 青青青在线免费观看| 在线国产精品网| 少妇高潮一区二区三区| 综合久久综合| 成人免费视频网址| 在线观看亚洲精品视频| 国产精品手机在线观看| 欧美日韩国产三区| 欧美一级黄色片| 中文字幕久久精品| 中文字幕在线视频观看| 国产精品毛片一区二区三区四区| 日日干夜夜爽| 日韩美女天天操| 二区三区在线视频| 婷婷丁香久久五月婷婷| 国产在线观看中文字幕| 日韩第一区第二区| 日本人妻丰满熟妇久久久久久| 国产精品亚洲电影久久成人影院| 污污网站在线看| 欧美日韩在线看| 91精品国产综合久久精品图片| 亚洲国产精品无码久久久久高潮| 7777精品久久久大香线蕉小说| 亚洲免费视频一区二区三区| 小早川怜子痴女在线精品视频| 亚洲va韩国va欧美va精品| 色佬视频在线观看| 亚洲91av视频| 一级美女在线| 国产在线一区二区综合免费视频| 神马一区二区影院| 久久久久久久久久久久久国产| 最近中文字幕在线观看| 欧美精品videos| 国产欧美日韩综合一区在线观看| 在线播放中文字幕| 99久久国产综合精品色伊| 中文字幕久久综合| 国产一区欧美二区三区| 国产在线综合视频| 国产精品久久久久一区二区国产| 欧美色倩网站大全免费| 久艹在线免费观看| 日韩中出av| 久久99精品国产91久久来源| 久久精品中文字幕| 老司机在线免费视频| 亚洲日本va午夜在线电影| 亚洲一区二区自偷自拍| 欧美大黑bbbbbbbbb在线| 欧美久久免费观看| 午夜精品久久| 免费黄色网址在线观看| 日韩欧美国产一区二区三区| 日韩电影免费观看高清完整版在线观看| 欧美va在线播放| 色诱女教师一区二区三区| 亚洲综合视频网| 好吊色免费视频| 95精品视频| 国产精品伊人日日| 国产白丝在线观看| 三级网站在线看| 精品国产www| 伦xxxx在线| 亚洲丁香日韩| 桃乃木香奈av在线| 羞羞答答国产精品www一本| 中文字幕精品在线不卡| 91丨porny丨户外露出| 久久久天堂国产精品女人| 成人开心激情| 国产精品v欧美精品v日本精品动漫| 天天色棕合合合合合合合| 国产精品成人一区二区不卡| 无吗不卡中文字幕| 日韩欧美美女在线观看| www.欧美激情.com| 三级视频中文字幕| 国产视频在线视频| 黄网在线播放| 视频91a欧美| 懂色av蜜臀av粉嫩av喷吹| 欧美一区二区黄| 视频在线观看国产精品| 一本一本a久久| 周于希免费高清在线观看| 伦理在线一区| 国产91色在线播放| 久久精品一区二区三区av| 色呦呦在线播放| 欧美激情一区二区三区p站| 精品成人一区| 青青草原国产视频| 久久综合中文| 国产啊啊啊视频在线观看| 人人澡人人爽人人揉| 欧美人狂配大交3d怪物一区| 中国老太性bbbxxxx| 亚洲电影天堂av| 久久久www免费人成精品| 免费在线观看成年人视频| 三上悠亚一区二区| 能免费看av的网站| 国产成人精品一区二三区四区五区| 18free性欧美另类hd| 国产欧美最新羞羞视频在线观看| 国产99精品视频| 在线色欧美三级视频| 日本免费www| 国产午夜精品全部视频在线播放| 激情综合中文娱乐网| 免费a级毛片在线播放| 欧美丰满高潮xxxx喷水动漫| 欧美不卡福利| 精品久久久网站| 亚洲一区二区三区精品在线观看| 91女人视频在线观看| 年下总裁被打光屁股sp| 久久av免费| 国产专区自拍| 亚洲高清乱码| 亚洲日本aⅴ片在线观看香蕉| 品天堂xxxx高清| 人人人妻人人澡人人爽欧美一区| 柠檬福利视频导航| 精品女同一区二区三区在线观看| 久久久综合色| 91免费版在线看| 国产精品久久久久久久久久99| 亚洲品质自拍视频网站| av在线之家电影网站| 国产成人夜间影院在线观看| 日韩综合小视频| 久久精品xxxxx| 亚洲最大最好的私人影剧院| 先锋亚洲精品| 最近高清中文在线字幕在线观看| 欧美激情一区二区三区久久久| 日韩国产欧美视频| 国产精品suv一区二区88| 国产成人精品久久一区二区小说| 偷偷要 色偷偷| 色女人综合av| 国内精品久久久久久久久电影网| 国产日韩精品视频一区二区三区| 久久99久久99精品免视看婷婷| 日韩一区av| 亚洲福利在线观看视频| 中国日本在线视频中文字幕| 一色桃子久久精品亚洲| 中文字幕一二三四| 免费视频一区| 红桃视频成人在线观看| 国产高清不卡无码视频| 国产在线成人精品午夜| 欧美日韩一二三四| 加勒比一区二区三区在线| 手机看片国产日韩| 一区二区三区视频在线播放| 91在线最新| 香蕉久久一区二区三区| 91色p视频在线| 激情网址大全| 香蕉视频在线免费看| 黄频视频在线观看| 少妇搡bbbb搡bbb搡打电话| 人妖欧美一区二区| 精品理论电影| 成人精品一区二区三区电影| 国产精品久久久久野外| 国产无遮挡又黄又爽又色视频| 成a人v在线播放| 成人av在线一区二区三区| 日韩精品无码一区二区三区| 色综合久久综合中文综合网| 成人久久精品视频| 在线成人亚洲| 天堂中文8资源在线8| 青青草久久网络| 91影院在线免费观看| 少妇高潮一区二区三区99小说| 99在线精品一区二区三区| 国产精品x8x8一区二区| 色综合久久中文综合久久97| av电影在线不卡| 看片网站欧美日韩| 91成人免费观看| 国产精品你懂的| 娇妻被老王脔到高潮失禁视频| 成人欧美magnet| 含羞草激情视频| 交换做爰国语对白| 韩国精品一区| 中国xxx69视频| 在线观看精品| 岛国在线视频网站| 国产精品jizz在线观看麻豆| 久久不卡免费视频| 一个人www视频在线免费观看| 欧美1区2区3| 欧美精品系列| 黄色录像一级片| 欧美黑人疯狂性受xxxxx喷水| 亚洲成人av综合| 欧美黄色免费视频| 欧美亚洲另类制服自拍| 日韩av一区二区三区| 国产九九九九| 日韩国产欧美区| 男人日女人视频网站| 在线免费观看av片| 国产精品一区二区av影院萌芽| 日本欧美不卡| 男人天堂久久| 91国内精品久久| 亚洲第一区视频| 黄色毛片视频| 精品久久久影院| 国产又爽又黄视频| 国产日韩在线观看视频| 日韩av中文字幕一区二区| 精品国产成人亚洲午夜福利| 国产精品黄色片| 中文字幕av资源| 一级毛片久久久| 国产午夜精品美女毛片视频| 少妇无码av无码专区在线观看| 国产精品一区毛片| 欧美 国产 精品| 麻豆传媒在线观看| 免费男同深夜夜行网站| 国产真实乱人偷精品人妻| 精品高清在线| 久久激情婷婷| 奇米888四色在线精品| 亚洲一二三四五六区| 米奇777在线影院线| 亚洲精品美女视频| www.youjizz.com在线| 国产一区二区三区黄| 久久成人高清| 北条麻妃一区二区三区中文字幕| 1024亚洲| 成人精品视频在线| 日本新janpanese乱熟| 国产美女在线免费观看|