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

手把手教你用JavaScript打造一個網頁搜索引擎

開發 前端
小編之前帶著大家一起做過一個python版的搜索引擎,今天帶大家做一個JavaScript版的搜索引擎。

一、前言

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

二、準備工具

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

三、實現結果

我們來看下實現結果,如圖:

我們只需要輸入關鍵字即可出現相應10條匹配結果,如果我們點擊其中一條結果,則會跳轉到對應的百度搜索界面。

四、項目實現過程

1.找到百度的搜索和查詢的元素節點

因為我們是使用百度為媒介來進行關鍵字的搜索,因此我們必須了解百度的搜索和查詢的元素是怎么分布的,打開百度,按下F12,如圖:

這里的箭頭處就是標注的它們的關系。

2.發送搜索查詢請求,找規律

我們來進行一次關鍵字查詢,如圖:

這樣我們就知道了這個網頁地址是我們請求后的最終地址,所以我們要將這個地址保存好。

3.同源策略和jsonp跨域

之所以講這兩個知識點,是因為我們的搜索引擎就是根據這兩個知識點演變而來,同源策略是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。同源指的是協議、域名、端口全都相同;而jsonp則是一種跨域方式,它可以減輕服務器的負載,但是它只支持get請求。

4.查詢結果

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

5.實現代碼

我們可以先創建一個能夠動態生成JavaScript代碼的函數,如下:

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);
  }

然后我們再獲取到它的數據,如下:

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" );
       
      })
     }
  }

最后我們就來將輸出的結果顯示出來,如下:

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

然后我們再配合自己寫的html和css代碼,可以將效果寫的更棒。

五、總結

本篇文章主要講的就是如何使用JavaScript動態生成一個JavaScript腳本進而可以利用它來訪問百度的搜索服務,可能說的有點繞口,不過這個的確就是前端跨域的一種很有效的解決方式。

責任編輯:華軒 來源: 前端進階學習交流
相關推薦

2022-02-25 09:41:05

python搜索引擎

2021-08-24 10:02:21

JavaScript網頁搜索 前端

2014-04-11 13:52:28

2021-06-18 09:02:26

FlaskES搜索 Python

2020-05-09 09:59:52

Python數據土星

2020-10-23 09:03:28

Flask

2021-08-09 13:31:25

PythonExcel代碼

2022-10-19 14:30:59

2023-05-22 10:04:24

2011-03-28 16:14:38

jQuery

2021-02-06 14:55:05

大數據pandas數據分析

2021-02-04 09:00:57

SQLDjango原生

2021-02-01 08:41:06

Java考試系統

2022-08-04 10:39:23

Jenkins集成CD

2021-07-12 09:03:50

Python任務管理器cmd命令

2020-12-14 08:05:28

Javascript隨機canvas

2009-04-22 09:17:19

LINQSQL基礎

2021-02-04 15:52:46

Java考試系統

2017-09-14 09:09:04

php應用LibreOfficeWord轉HTML

2021-01-04 09:55:26

Java移動互聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产激情免费视频 | 99久久久国产精品 | 男女午夜免费视频 | 国产成人精品一区二区三区四区 | 啪啪网页 | 操操操av | 精品国产乱码久久久久久蜜臀 | 亚洲国产日韩一区 | 色婷婷av一区二区三区软件 | 91素人| 伊人热久久 | 成人久久久 | 欧美日韩亚洲视频 | 在线免费观看黄色 | 久久黄色网 | 精品欧美乱码久久久久久1区2区 | 久久中文字幕一区 | 久久一二三区 | 天天干com| 婷婷五月色综合香五月 | 日韩视频精品在线 | 日韩一级 | av网站免费在线观看 | 日韩久久精品视频 | 中日韩毛片 | 日韩视频在线免费观看 | 国产日韩欧美一区二区在线播放 | 狠狠久久综合 | 久久精品一级 | 久久精品一区二区 | 色资源在线观看 | 天堂一区二区三区 | 在线观看日本高清二区 | 一区二区不卡 | 久久久久久色 | 综合伊人 | 国产成人精品一区 | 免费中文字幕 | 国内自拍偷拍 | 亚洲成人午夜电影 | 一区二区在线 |