这个功能的实现主要使用了jsonp跨域访问, 然后通过回调函数来将搜索到的关联内容显示出来 。
JSONP(JSONwith Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。
回调函数:当一个函数作为另一个函数的参数时,那么这个函数就是回调函数。
效果如下
代码如下
<script type="text/javascript"> var txt = document.getElementById('text'); var oUl = document.getElementById('list'); var oBtn = document.getElementById('btn'); txt.onkeyup = function () { oUl.innerHTML = ''; oUl.style.display = 'none'; var val = txt.value; var oScript = document.createElement('script'); //动态创建script标签 oScript.src = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=' + val + '&cb=callback'; //添加链接及回调函数 document.body.appendChild(oScript); //添加script标签 document.body.removeChild(oScript); //删除script标签 }; //回调函数 function callback(data) { if (data.s && data.s.length) { const res = data.s; res.forEach(function (value) { var oLi = document.createElement('li'); oLi.innerHTML = '<a style="display:inline-block;width:100%" href="https://www.baidu.com/s?wd=' + value + '">' + value + '</a>'; oUl.appendChild(oLi); }); oUl.style.display = 'block'; } } //点击跳转到百度页面,并搜索其中内容 oBtn.onclick = function () { var val = txt.value; location.href = 'http://www.baidu.com.cn/s?wd=' + val + '&cl=3'; }; </script>
浅谈”三纲五常”由来与含义(三纲五常是谁提出的)
盘点40种常见的观赏灌木植物(常见灌木植物有哪些)
“城府深”的含义与特征解读(城府深是什么意思)
附:57个阳台装修案例(阳台设计装修效果图)
氨纶材质结构与优点详解(氨纶是什么面料)
一文揭开高圆圆早年经历与现状(高圆圆个人资料)
详解“躲春”的习俗与讲究(立春这天为什么要躲春)
值得入手的大牌抗老面霜盘点(抗皱紧致护肤品哪款好)
盘点全球翡翠主要产地(翡翠只有缅甸有吗)
深度讲解北宋灭亡的原因(北宋是怎么灭亡的)
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议