美文网首页
百度搜索关键字联想效果

百度搜索关键字联想效果

作者: Bigbang_boy | 来源:发表于2018-03-11 19:51 被阅读0次

    引言

    我们在使用百度的时候,每输入一个关键词百度会自动进行关键字补全,


    而让用户能更快得到想要的关键词而进行搜索.这次我们来用自制的网页来实现搜索关键字联想效果.

    一.布局

    我们先要获得百度的logo



    任何截图工具都可.



    很简单就完成了布局
    效果

    添加搜索框弹出



    模型差不多就这样了

    接下来就是重点.

    二.脚本

    百度的联想是当输入框发生改变的时候才会触发,因此很容易想到一个触发事件--onkeyup当键盘停止输入时触发.


    trim()去除了字符前后的空格.
    现在只是写了触发事件,我们已经得到了用户输入的数据val.若想要得到百度的数据,我们需要jsonp跨域.
    从百度服务器获取信息.在js里面需要用到script标签来获取.我们还需要知道百度服务器地址.
    观察在使用百度搜索后的地址栏:

    百度主域名后面发现 ?wd=1 的参数,我们把等号后面的值改为2:

    发现搜索结果同样也改变了.但是还远远不够.我们需要获得一条完整数据,从Chrome控制台网络看到, su开头的正是百度搜索服务器的地址,但是我们打开

    如此居多杂论无章的信息.
    这时,我们只需要把wb到cb中间这一段去掉

    就能得到从百度服务器发送来的搜索联想结果.

    这样就能解析了json,就获取我们想要的信息


    把它写入script标签里.

    其中,通过script标签动态加载资源,cb后面的值即为函数名.


    通过使用该函数名从控制台输出数据,我们看到


    这样截取了搜索联想的结果,json里面的数组s即是我们需要的联想词.之后就变得简单起来了

    从输入框得到关键词,发送到服务器并接收联想词


    基础代码

    效果

    美化一下,大功告成.


    本文完.

    相关文章

      网友评论

          本文标题:百度搜索关键字联想效果

          本文链接:https://www.haomeiwen.com/subject/rcywfftx.html