麻烦大家帮我看下,如图获取百度搜索热词,在自己站点上显示下拉选项实现搜索。如下代码可以实现,但是会时灵时不灵,尚且不知道是哪里出了问题。
调试时发现,出现问题的时候, jsonp 正常请求没问题。但回调函数不是每次都会按预期的结果正常执行。
测试浏览器 360极速浏览器 极速模式。

在线Demo :http://hxy100.gitcafe.io/gh-demos/baidu-suggest/demo.html
中国微商第一新媒体-微商创业,运营,推广,管理者学习交流平台-商贾之家
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
问题是在两次紧接着的DOM操作间会产生一个race condition,在前一次DOM完成之前下一次紧接着开始了。
最简单的优化是去掉第1句,剩第二句,就没有race condition了。
但是这样设计还有缺陷,应该考虑对keyup的handler进行debounce,并且把getDBJson调用重构成异步执行_.defer或者_.delay,这样更新列表对敲击键盘的体验的影响可以减到最小。
秘技的DOM操作应该用尽可能快的调用,比如用document.getElementById替代$('#..'),用.innerHTML=...替代.html(...),应该避免不必要的hide()调用。
我就想知道你是怎么绕过跨域的……