日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html设置一个搜索引擎,零基础打造一款属于自己的网页搜索引擎

發布時間:2024/8/1 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html设置一个搜索引擎,零基础打造一款属于自己的网页搜索引擎 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【一、項目準備】

瀏覽器:360瀏覽器

編輯器:Sublime Text 3

插件:Jquery-3.2.1.Min.Js

【二、項目實現】

由于是要實現一個網頁搜索引擎,所以我們需要借用網頁三劍客(Html+Css+Javascript),然后實現這一功能。

1.打開百度分析網頁結構

我們可以先看看百度的搜索引擎:

可以看到,這個搜索框的部分設置,比如關閉自動完成功能。然后我們在隨便搜索內容來查看它的變化:

可以看到某些我們查詢的關鍵字,于是我們便發現了請求規律:https://www.baidu.com/s?+查詢字符參數

這就構成了我們的一個完整的get請求,而且這里面有很多關鍵字參數可以省略掉,只需要保留重要的一部分就好了。于是,經試驗,得出如下結論:https://www.baidu.com/s?wd=keyword

這個才是請求的接口地址,只需將keyword參數替換為任意搜索關鍵字即可實現查詢并跳轉到相應結果頁面。

2.編寫Html輸入框,搜索按鈕

看過之前寫的Html系列的文章,你將不再對此感到困惑。

*{???????????內外邊距初始時為0

margin:0;

padding:0

}

input{

width:300px;

height:30px

}

span{

position:absolute;?絕對定位

background-color:red;?背景顏色

border:1px?solid?gray;?邊框設置

width:60px;

height:32px;

text-align:center?文字位置

}

span:hover{?鼠標懸停時的樣式

background-color:blue

}

?文本框

search?搜索按鈕

編寫完成后進入瀏覽器查看,即可看到:

可以看到,已經有點瀏覽器搜索框的意思了。

3.導入Jquery插件

4.編寫js腳本

這個是重中之重,打開瀏覽器,network,繼續分析:

可以看到搜索結果就在里面。然后打開這個請求的url地址,經過多次實驗,發現就只有圖中標記的參數有變化:

所以我們可以得出結論,我們只需要改變這兩個值即可。

1).創建刪除腳本

于是我先創建一個腳本標簽,不用它的時候隨時可以清除,避免占用內存,導致頁面打開遲緩,性能降低:var?script=document.createElement('script');??創建script的標簽

script.id='jsonp';???設置id為jsonp

script.src='https://www.baidu.com/sugrec?prod=pc&cb=getData&wd='+wd;??設置它的地址

document.body.appendChild(script);???添加script元素到body中

然后等它不用了,隨時將它刪除:var?script=document.createElement('script');??創建script的標簽

script.id='jsonp';???設置id為jsonp

script.src='https://www.baidu.com/sugrec?prod=pc&cb=getData&wd='+wd;??設置它的地址

document.body.appendChild(script);???添加script元素到body中

2).生成選項下拉菜單

我們在瀏覽器可以看到,只要一輸入文本,它就會彈出對應的選項讓我們選擇,那么這是如何辦到的了?

function?getlist(wd){????/*獲取下拉列表*/

var?script=document.createElement('script');??/*創建script的標簽*/

script.id='jsonp';???/*設置id為jsonp*/

script.src='https://www.baidu.com/sugrec?prod=pc&cb=getData&wd='+wd;?/*?設置它的地址*/

document.body.appendChild(script);???/*添加script元素到body中*/

}

function?getData(data){??/*獲取數據*/

var?script=document.querySelector('#jsonp');?/*選擇id為jsonp的元素*/

script.parentNode.removeChild(script);??/*從這個元素的父元素中刪除這個元素*/

$('ol').html('');??/*?設置有序列表的值為空*/

var?da=data.g;???/*?獲取搜索的結果*/

if(da){?????????????????????/*結果存在的話就將結果放到li標簽中*/

da.forEach(function(item,index){

$('

'+item.q+'').appendTo('ol');

})

}

}

/*?判斷鍵盤是否按下*/

$('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);

});

可以看到,搜索結果已經出來了,而且有序列表下的"li"標簽也都對應的生成了。

3).給選項標記序列

我們可以看到,結果終于出來,但是我想給它個序列號,這樣就可以知道搜索結果有多少個了。要設置的標記方式有很多種,可以以數字開頭,也可以是大小寫字母或者羅馬時間。在這里我選擇數字,很簡單。

終于非常完美的實現了這一功能,是不是很驚艷了,趕快去試下吧。

4).搜索刷新

看到這里相信大家應該都知道這個功能已經算是完成了,我們只需要隨便點擊哪個li標簽都可以訪問到相應的頁面。于是,我決定添加一個刷新的功能,屬于重連服務器的那種刷新:search?點擊后立即刷新

【三、項目總結】

總的來說,對于初學者小白是個很不錯的練手項目,希望大家能從中有所收獲。

總結

以上是生活随笔為你收集整理的html设置一个搜索引擎,零基础打造一款属于自己的网页搜索引擎的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。