成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你用JavaScript打造一個(gè)網(wǎng)頁(yè)搜索引擎

開(kāi)發(fā) 前端
本篇文章主要講的就是如何使用JavaScript動(dòng)態(tài)生成一個(gè)JavaScript腳本進(jìn)而可以利用它來(lái)訪問(wèn)百度的搜索服務(wù),可能說(shuō)的有點(diǎn)繞口,不過(guò)這個(gè)的確就是前端跨域的一種很有效的解決方式。

大家好,我進(jìn)階學(xué)習(xí)者。

一、前言

小編之前帶著大家一起做過(guò)一個(gè)python版的搜索引擎,今天帶大家做一個(gè)JavaScript版的搜索引擎。

二、準(zhǔn)備工具

360瀏覽器,sublime text 3編輯器,僅此而已。

三、實(shí)現(xiàn)結(jié)果

我們來(lái)看下實(shí)現(xiàn)結(jié)果,如圖:

我們只需要輸入關(guān)鍵字即可出現(xiàn)相應(yīng)10條匹配結(jié)果,如果我們點(diǎn)擊其中一條結(jié)果,則會(huì)跳轉(zhuǎn)到對(duì)應(yīng)的百度搜索界面。

四、項(xiàng)目實(shí)現(xiàn)過(guò)程

1.找到百度的搜索和查詢的元素節(jié)點(diǎn)

因?yàn)槲覀兪鞘褂冒俣葹槊浇閬?lái)進(jìn)行關(guān)鍵字的搜索,因此我們必須了解百度的搜索和查詢的元素是怎么分布的,打開(kāi)百度,按下F12,如圖:

這里的箭頭處就是標(biāo)注的它們的關(guān)系。

2.發(fā)送搜索查詢請(qǐng)求,找規(guī)律

我們來(lái)進(jìn)行一次關(guān)鍵字查詢,如圖:

這樣我們就知道了這個(gè)網(wǎng)頁(yè)地址是我們請(qǐng)求后的最終地址,所以我們要將這個(gè)地址保存好。

3.同源策略和jsonp跨域

之所以講這兩個(gè)知識(shí)點(diǎn),是因?yàn)槲覀兊乃阉饕婢褪歉鶕?jù)這兩個(gè)知識(shí)點(diǎn)演變而來(lái),同源策略是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會(huì)受到影響。同源指的是協(xié)議、域名、端口全都相同;而jsonp則是一種跨域方式,它可以減輕服務(wù)器的負(fù)載,但是它只支持get請(qǐng)求。

4.查詢結(jié)果

我們輸入查詢關(guān)鍵詞后,還要獲取到它有哪些待定的選項(xiàng),這里就要搞清楚查詢選項(xiàng)有哪些,如圖:

5.實(shí)現(xiàn)代碼

我們可以先創(chuàng)建一個(gè)能夠動(dòng)態(tài)生成JavaScript代碼的函數(shù),如下:

function getlist(wd){
var script=document.createElement('script');
script.id='jsonp';
script.src='https://www.baidu.com/sugrec?prod=pc&cb=getData&wd='+wd;
document.body.appendChild(script);
}

然后我們?cè)佾@取到它的數(shù)據(jù),如下:

function getData(data){
var script=document.querySelector('#jsonp');
script.parentNode.removeChild(script);
$('ol').html('');
var da=data.g
if(da){
da.forEach(function(item,index){

$('<li><a target="_blank" +item.q+'">'+item.q+'</a></li>').appendTo('ol');

})
}
}

最后我們就來(lái)將輸出的結(jié)果顯示出來(lái),如下:

$('input:text').keyup(function(){
var wd=$(this).val();
if(wd==''){
$('ol').css('display','none');
$('ol').css('zIndex',-10);
}else{
$('ol').css('display','block');
$('ol').css('zIndex',20);
}
getlist(wd);
});

然后我們?cè)倥浜献约簩?xiě)的html和css代碼,可以將效果寫(xiě)的更棒。

五、總結(jié)

本篇文章主要講的就是如何使用JavaScript動(dòng)態(tài)生成一個(gè)JavaScript腳本進(jìn)而可以利用它來(lái)訪問(wèn)百度的搜索服務(wù),可能說(shuō)的有點(diǎn)繞口,不過(guò)這個(gè)的確就是前端跨域的一種很有效的解決方式。

責(zé)任編輯:武曉燕 來(lái)源: 前端進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2021-08-24 10:02:21

JavaScript網(wǎng)頁(yè)搜索 前端

2024-11-05 16:40:24

JavaScript搜索引擎

2014-04-11 13:52:28

2021-06-18 09:02:26

FlaskES搜索 Python

2020-05-09 09:59:52

Python數(shù)據(jù)土星

2022-10-19 14:30:59

2020-10-23 09:03:28

Flask

2021-08-09 13:31:25

PythonExcel代碼

2022-08-04 10:39:23

Jenkins集成CD

2023-05-22 10:04:24

2021-02-01 08:41:06

Java考試系統(tǒng)

2011-03-28 16:14:38

jQuery

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析

2021-02-04 09:00:57

SQLDjango原生

2009-04-22 09:17:19

LINQSQL基礎(chǔ)

2021-07-12 09:03:50

Python任務(wù)管理器cmd命令

2020-12-14 08:05:28

Javascript隨機(jī)canvas

2021-01-04 09:55:26

Java移動(dòng)互聯(lián)網(wǎng)

2021-02-04 15:52:46

Java考試系統(tǒng)

2017-09-14 09:09:04

php應(yīng)用LibreOfficeWord轉(zhuǎn)HTML
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品一区在线 | 亚洲视频在线免费观看 | 国产高清精品一区二区三区 | 久久av网| 亚洲人人舔人人 | 久草免费在线 | 日韩三级一区 | 午夜视频在线观看网址 | 国产精品综合网 | 精品国产91乱码一区二区三区 | 一区二区三区四区国产精品 | 国产黄色在线 | 久久久久久美女 | 久久久久久高潮国产精品视 | 久久大陆| 久久国内| 精品综合| 一级黄色在线 | 精品欧美二区 | 国产精品伦一区二区三级视频 | 亚洲欧美日韩精品久久亚洲区 | 狠狠操天天操 | 精品国产第一区二区三区 | 97视频精品 | 国产精品精品视频一区二区三区 | 做a网站| 69av网| 国产大毛片 | 麻豆精品国产91久久久久久 | 婷婷色成人 | 欧美国产日韩在线 | 99久久免费精品国产男女高不卡 | 国产精品www | 成人在线精品视频 | 亚洲精品久久嫩草网站秘色 | 亚洲精品在线国产 | 久久久久久国产 | 亚洲色在线视频 | av日韩精品| 国产精品一区二区三区免费观看 | 高清av一区 |