天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

谷歌音樂搜索欄的提示功能php修正代碼

問題描述

在加載頁面的時候, 將光標快速定位到搜索欄上, 待頁面加載完成, 搜索欄進行初始化后會顯示搜索提示. 此時輸入的任何內(nèi)容將成為搜索提示的一部分而不是搜索關(guān)鍵字. 截圖如下:

谷歌音樂搜索欄的 bug

導致原因

搜索欄的 JavaScript 初始化執(zhí)行在 onload 的時候. 因為頁面圖片請求多, 完全加載需要 3 秒鐘左右, 并且搜索欄的 tabindex 被設為 1, 搜索優(yōu)先的用戶很容易就能遇到.

以下是我根據(jù)自己的理解反編譯出來的 JS 代碼, 頁面在 onload 的時候?qū)?zhí)行 m.hint.initHint 方法為搜索框添加提示功能.
復制代碼 代碼如下:
/**
* 為搜索框添加提示功能
* @param searchTip 提示信息
* @param searchBoxId 搜索輸入框 ID
* @param hideBoxId 關(guān)鍵字隱藏框 ID
*/
m.hint.initHint = function(searchTip, searchBoxId, hideBoxId){
var searchBox = document.getElementById(searchBoxId);
var hideBox = null;
if(searchBox){
if(hideBoxId) {
hideBox = document.getElementById(hideBoxId);
}
l.events.listen(searchBox, "blur", l.bind(m.hint.onInputBlur, null, searchBox, hideBox), false);
l.events.listen(searchBox, "focus", l.bind(m.hint.onInputFocus, null, searchBox, hideBox), false);
if(hideBox){
l.events.listen(searchBox, "change", bind(m.hint.onInputChange, null, searchBox, hideBox), false);
hideBox.value = m.hint.getInputValue(searchBox);
}

// 在這里將搜索提示賦給臨時變量
m.hint.Gh[searchBox] = searchTip;
// 如果搜索框存在, 則為搜索框加上臨時變量和灰色字的 class
m.hint.onInputBlur(searchBox);
}
};

m.hint.onInputBlur = function(searchBox, hideBox) {
m.hint.fi(searchBox);
hideBox && m.hint.onInputChange(searchBox, hideBox);
};

m.hint.fi = function(searchBox) {
if(searchBox) {
var searchTip = m.hint.Gh[searchBox];
if(searchTip && (searchBox.value.trim()=="" || searchBox.value==searchTip)) {
searchBox.setAttribute(m.hint.IS_HINT, "1");
searchBox.className += " hint";
searchBox.value = searchTip;
}
}
};

解決辦法
縮短搜索框 DOM 節(jié)點加載和 JavaScript 初始化之間的時間. 可以在搜索框加載完成后立刻執(zhí)行 JS, 反正 Google 自己的產(chǎn)品也不需要 SEO. 當然, 最好在 DOM ready 的時候執(zhí)行.

擴展知識
記得我寫過一篇文章, 介紹如何在 WordPress 搜索框添加文字提示. 我的處理辦法簡單粗暴, 僅以框內(nèi)關(guān)鍵字來判斷是關(guān)鍵字還是提示信息. (所以我的提示信息很長)

在分析這個案例的過程中, 我發(fā)現(xiàn) Google 的處理辦法很好, 可以借鑒和使用. 它通過隱藏輸入框來放置真正的搜索信息, 所以可以實現(xiàn)完全關(guān)鍵字和提示文案的區(qū)分.

后話
這個小問題已經(jīng)困擾我很久了 (幾乎每次遇到), 今天終于忍不住看了一下代碼, 希望 Google 的工程師能夠看到本文快速解決掉. (修改建議我都給出來了, 還不改也說不過去吧)

php技術(shù)谷歌音樂搜索欄的提示功能php修正代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久久99精品成人片中文 | 欧美精品久久久久久久久大尺度 | 亚洲综合色在线视频久 | 最新色导航 | 又黄又爽又无遮挡在线观看免费 | 一道精品视频一区二区 | 欲插爽乱浪伦骨 | 日韩精品久久日日躁夜夜躁影视 | 国内一级一级毛片a免费 | 欧美特级午夜一区二区三区 | 99久久香蕉国产线看观看 | 老师的玉足高跟鞋满足我 | 香蕉尹人综合精品 | 日韩精品久久日日躁夜夜躁影视 | 三级网址在线 | 中文字幕不卡免费高清视频 | 欧美最猛12teevideos欧美 欧美最猛12teevideos | 国产人妻人伦精品1国产 | 免费国产久久啪久久爱 | 插骚妇好爽好骚 | 日韩高清毛片 | 国产九色在线 | 绿巨人www在线观看 绿巨人www | 同居了嫂子在线观看 | 王晶经典三级 | 最近免费中文MV在线字幕 | 国产亚洲视频在线播放香蕉 | 99热免费精品店 | 国产传媒18精品A片在线观看 | 亚洲精品美女久久777777 | 黄色三级三级三级免费看 | 亚洲精品青青草原avav久久qv | 吉吉影音先锋av资源网 | 久久久久久久久人体 | 狠狠撸亚洲视频 | 麻美ゆま夫の目の前で犯 | 出差无套内射小秘书 | 成人在线免费观看 | 国产av免费观看日本 | aaaaaa级特色特黄的毛片 | 热久久视久久精品18 |