web搜索框的制作(必应)

article/2025/10/7 3:25:06

        前两天没事突然对搜索来了兴趣,我一直在想搜索框中我们输入一些字或者字母,为何下面就会有一些自动补齐的相关搜索,比如我在搜索输入框中输入一个字母e,下面就会出现饿了么,e租宝,ems等相关的搜索链接。然后经过百度,发现原来很多厂商的服务器早已经为我们弄好了。

        我们只需要写个输入框,然后获取输入框里的信息,将信息打包,请求服务器,然后获取数据再显示在界面上就OK了。想想是不是很简单呢,因为我们不需要做很多相关的算法和处理因为服务器早已经做好了,我们做的只是记住调用的方法,然后调用就行了。

        然后我找到了的bing必应,微软旗下的搜索引擎,试着做了一个。

效果如下:



       看了效果图大家可能会问了,为什么网址是api.bing.com这个类似cn.bing.com(必应的网址),这个就涉及到跨域了,因为JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象,相关信息大家可以百度,这里就不详细阐述了,我只说一点,跨域问题只存在于你的JS代码中,服务器是没有跨域问题的
        然后我这里使用的是Fiddler来解决跨域问题,我的理解是它可以帮助你把你本地的文件映射到其它域名下,这样你的JS代码就可以访问这个域名下的JS对象了,当然这只是在欺骗你本地的JS代码,让你的JS代码误以为你们是一个域名下的,然后可以去访问,服务器那边并不会产生什么影响。这个只是我本人的看法,有表述不正确的地方还望大家指出,谢谢大家。
        说了这么多,大家应该也有一个对搜索框制作的模糊印象了吧,下面是具体代码:

bing_search_index.html:
需要引入jquery库
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><!-- 兼容IE --><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>bing search</title><link rel="stylesheet" type="text/css" href="style.css">
</head>
<body><div class="bg-div"><div class="search-box"><div class="logo"></div><form id="search-form"><input type="text" class="search-input-text" id="search-input" name="q" /><input type="submit" class="search-input-button" value=""/></form></div></div><div class="suggest" id="search-suggest" style="display:none;"><ul id="search-result"><li>搜索结果1</li><li>搜索结果2</li><li></li></ul></div>
<script type="text/javascript" src="js/jquery1-11-1.js"></script>
<script type="text/javascript" src="js/script.js"></script>
</body>
</html>

js/script.js:
$(document).ready(function(){$('#search-input').bind('keyup', function() {var jqueryInput = $(this);//用户输入var searchText = jqueryInput.val();//请求必应的服务器,获得相关搜索信息$.get('http://api.bing.com/qsonhs.aspx?q=' + searchText,function(json){//服务器返回的信息var data = json.AS.Results[0].Suggests;var html="";//将服务器返回的信息加到li标签里for(var i = 0; i < data.length; i++){html += '<li>' + data[i].Txt + '</li>';}$('#search-result').html(html);$('#search-suggest').show().css({top: $('#search-form').offset().top+$('#search-form').height()+10,left: $('#search-form').offset().left,// $('#search-form').offset().left的结果是468.5 // 不知道为什么left不加4只有464.25的宽度position: 'absolute'});},'json');});$(document).bind('click',function(event) {// 隐藏搜索结果$('#search-suggest').hide();});$(document).delegate('li', 'click', function(event) {var li_text = $(this).text();//取到li里的文本//返回结果的链接location.href = 'http://cn.bing.com/search?q=' + li_text;});
});

style.css
*{margin: 0;padding: 0;
}
body{background-color: #333;
}.bg-div{/*bing的背景图*/background-image: url(images/bg.jpg);width: 1325px;height: 630px;margin: 0 auto;
}.logo{/*bing的logo*/background-image: url(images/logo.png);width:107px;height: 53px;float: left;
}form{float: left;background-color: #fff;padding: 5px;margin-left: 20px;
}.search-input-text{/*消除input的边框*/border: 0;width: 400px;height: 36px;line-height: 36px;float: left;/*去掉文本框点击后显示的高亮效果*/outline: none;
}.search-input-button{border: 0;/*bing的搜索按钮图*/background-image: url(images/search.png);width: 36px;height: 36px;float: left;cursor: pointer;
}.search-box{position: absolute;top: 30%;left: 25%;
}.suggest{width: 446px;background-color: #fff;border: 1px solid #999;
}.suggest ul{list-style: none;margin: 0;padding: 0;
}.suggest ul li{padding: 3px;font-size: 14px;line-height: 25px;cursor: pointer;list-style: none;
}.suggest ul li:hover{text-decoration: underline;background-color: #e5e5e5;
}

对Fiddler不熟悉的可以看看这里:
1.打开fiddler,然后请求http://api.bing.com/bing_search_index.html
2.在fiddler里找到那个请求
       
3.再在右边对其添加规则





http://chatgpt.dhexx.cn/article/C9osHcgD.shtml

相关文章

html怎么调搜索框宽高,百度站内搜索css:输入框宽度及样式自定义

近日网站使用了百度站内搜索api&#xff0c;目的是为了提高站内搜索的速度&#xff0c;减轻查询站内数据库带来的服务器压力。 不过在使用百度站内搜索api(生效范围&#xff1a;*webkaka.com/*)后发现一个问题&#xff0c;不同的频道模版造成排版不合适的后果&#xff0c;如搜索…

织梦手机站站内搜索

今天在做手机网站发现一个问题&#xff0c;当在手机是使用搜索功能时马上就跳转到电脑端网站去了&#xff0c;在手机上无法使用。在网上找半天没有找到解决的办法&#xff0c;后来自己想通了&#xff0c;下面告诉大家怎么样简单的实现这个功能&#xff01;我的手机站是在m/这个…

基于 Elasticsearch 的站内搜索引擎实战

站内搜索&#xff0c;可以认为是针对一个网站特性内容的搜索功能。由于内容、格式可控&#xff0c;站内搜索比全网搜索的实现要简单很多。 简书这个网站本身自带一个搜索&#xff0c;但是缺乏针对个人文章的搜索&#xff0c;所以本文的实战内容是解决这个痛点。 代码在 https…

使用swiftype实现站内搜索

本人博客opiece.me&#xff0c;欢迎访问。 前言 首先&#xff0c;以下的内容是基于最新的swifytpe的教程&#xff0c;应该是2.0.0。 站内搜索顾名思义就是将范围限定在你的网站内&#xff0c;以此范围进行关键字搜索。 常见的站内搜索是google和baidu的&#xff0c;但是现在…

Compass实战 站内搜索

今天早上打算对这两天学习的Lucene以及Compass总结一下,想来想去,还是写个小项目来验证最好了。于是就有了今天的这篇文章。难易程度适合对于Compass或者Lucene刚入门的童鞋,大牛看到后望轻喷 :-) 项目预览项目需求项目目录核心处理 发帖部分查询部分总结项目预览 项目需求 …

html中的搜索

目录 hello&#x1f604; form表单&#x1f349; form的语法&#x1f34a; from的属性&#x1f34a; 提交&#xff1f;重置&#xff1f;&#x1f34a; 表单按钮&#xff08;html&#xff09;&#x1f50d; JavaScript提交表单&#x1f50d; JavaScript重置表单&#x1f…

必应(Bing)的站内搜索 site:<域名> <搜索内容>

最近在备考OCP&#xff0c;发现有一个网站的题库很好&#xff0c;就是www.examtopics.com&#xff0c;有很多Oracle的考题&#xff0c;都是在这里面搜到的&#xff0c;而且每道题都有人讨论。 为了加快搜索速度&#xff0c;提高精度&#xff0c;可以用Bing在这个网站内搜索&am…

百度站内搜索使用教程

最近做了一个博客CMS网站&#xff0c;用到了百度站内搜索&#xff0c;做一些必要的笔记&#xff0c;一来是对自己学习的知识的巩固&#xff0c;二来对有同样问题的人有参考作用 文章目录 一 使自己的网站被百度收录二 获取百度站内搜索代码三 总结 声明一下&#xff0c;我本人很…

利用免费的必应 Bing 自定义搜索打造站内全文搜索

简介 百度的站内搜索不做了&#xff0c;唉&#xff0c;果然免费的不永久。我们看看 Bing 的&#xff0c;每个月有 1000 次免费的调用 bing search api 的次数。不同客户可以多申请几个就行了。 申请入口&#xff1a; https://www.customsearch.ai&#xff0c;官方简介页面官方…

html百度站内搜索代码,网站添加百度站内搜索的教程

zblog博客程序中可以在侧边栏中添加搜索功能&#xff0c;但是让人郁闷的是如果没针对搜索使用搜索插件&#xff0c;那情况简直让人抓狂&#xff0c;还好我们可以使用百度的站内搜索功能&#xff0c;一方面可以节省网站的资源&#xff0c;另一方面可以增加百度的收率几率。 关于…

站内搜索

使用“site:”或者“domain:”来实现站内搜索 如果你想在一个特定的网站上来进行搜索&#xff0c;在众多庞大的信息流中找到你想要的信息&#xff0c; 在上篇中(http://blog.csdn.net/liunian02050328/article/details/8220379)介绍在java编程的环境下实现站内搜索&#xff0c;…

计算机网络中的ping什么意思,PING命令是什么?PING使用方法和参数详解

PING命令是用来检查本机于网络上的电脑是否正常通信的一个命令&#xff0c;作为一个网站的管理员、单位的网管这也是一个必会的命令。 因为网络中所有的电脑都有一个单独不会重复的IP地址&#xff0c;我们使用PING命令给目标IP地址发送一个数据包&#xff0c;对方就要返回一个同…

常见的ping命令

1.ping 延时和丢包 开始--运行---输入cmd---输入ping IP&#xff08;IP为所要ping的服务器的IP&#xff09; 常与 -t 选项结合使用 ctrlc结束 延时主要看时间列 看时间得数值和波动 丢包 ---出现请求超时 2.追踪路由 tracert IP 注意&#xff1a; 追路由 --一般追3次 …

ping命令常见参数使用详解

winR 输入cmd 回车 进入命令窗口 输入ping baidu.com 回车可以查看网络连接。 ping [-t]参数是用来不断的ping对方主机&#xff0c;直到手动停止&#xff0c;使用ctrlc。Windows默认是四次停止。 [-l]&#xff08;-L&#xff09;参数用来设定数据包的大小的&#xff0c;在默认的…

Linux 常用ping命令详解

一、用法 Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface][-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos][-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option][-w deadline] [-W timeout] [hop1 ...] destination二…

CentOS7里ping命令详解

ping 功能简述&#xff1a;Linux系统的ping命令是常用的网络命令&#xff0c;它通常用来测试与目标主机的连通性&#xff0c;我们经常会说“ping一下某机器&#xff0c;看是不是开着”、不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMPECHO_REQUEST数…

ping命令

在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为&#xff1a; &#xff08;1&#xff09;用来检测网络的连通情况和分析网络速度&#xff1b;&#xff08;2&#xff09;根据域名得到服务器IP&#xff1b;&#xff08;3&#xff09;根据ping返回的TTL值来判断对方所使…

Ping命令的用法

ping基本使用详解 在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为&#xff1a; &#xff08;1&#xff09;用来检测网络的连通情况和分析网络速度&#xff1b; &#xff08;2&#xff09;根据域名得到服务器IP&#xff1b; &#xff08;3&#xff09;根据ping返回…

ping命令简单总结

ping测失败是最长出现的网络故障&#xff0c;面对ping不通的问题&#xff0c;需要有一个排查顺序&#xff0c;接下来就简单总结下&#xff1a; 1、ping命令简介 当192.168.1.1向192.168.1.2发出ping测&#xff0c;ping命令生成固定格式的ICMP数据请求包&#xff0c;ICMP协议将…

ping命令基本使用详解

ping命令原理 ping命令是用来探测本机与网络中另一主机之间是否可通的命令&#xff0c;如果两台主机之间ping不通&#xff0c;则表明这两台主机不能建立起连接。 ping命令位于7层协议的网络层。 ping 命令是基于 ICMP 协议来工作的&#xff0c;ICMP为 Internet 控制报文协议。…