搜索引擎优化入门与进阶( 一个JavaScript一个版的搜索引擎如何使用JavaScript动态生成一个代码)

优采云 发布时间: 2021-10-15 07:10

  搜索引擎优化入门与进阶(

一个JavaScript一个版的搜索引擎如何使用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){         $(''+item.q+'</a>').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);   }); 

  然后我们就可以配合我们写的html和css代码,让效果更好。

  五、总结

  本文文章主要讲如何使用JavaScript动态生成JavaScript脚本,然后使用它来访问百度的搜索服务。可能有点绕,但这确实是一个非常有效的前端跨域。解决方案。

  【编辑推荐】

  19岁“天才少年”自制CPU!1200个晶体管,手工马斯克发布机器人,“钢铁侠”实物!特斯拉推出全球超高速AI电脑Windows 11来了,它们还活着!盘点常青小软件Windows 11预览版更新!带你看Windows 11的新内置功能从不使用5G,为什么不买非5G手机呢?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线