一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

問題描述

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

谷歌音樂搜索欄的 bug

導致原因

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

以下是我根據自己的理解反編譯出來的 JS 代碼, 頁面在 onload 的時候將會執行 m.hint.initHint 方法為搜索框添加提示功能.
復制代碼 代碼如下:
/**
* 為搜索框添加提示功能
* @param searchTip 提示信息
* @param searchBoxId 搜索輸入框 ID
* @param hideBoxId 關鍵字隱藏框 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 節點加載和 JavaScript 初始化之間的時間. 可以在搜索框加載完成后立刻執行 JS, 反正 Google 自己的產品也不需要 SEO. 當然, 最好在 DOM ready 的時候執行.

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

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

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

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

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

主站蜘蛛池模板: 国产精品久久久福利 | 久久综合九色综合97婷婷女人 | 亚洲成a人片在线v观看 | 精品一区二区三区五区六区七区 | 色婷婷激情五月 | 99999久久久久久亚洲 | 88国产精品视频一区二区三区 | 黄网在线观看视频 | 亚洲视频国产视频 | 最新欧美精品一区二区三区不卡 | 一区二区三区不卡免费视频97 | 国产精品高清一区二区三区 | 一木道一二三区精品 | 天天天做天天天天爱天天想 | 337p欧洲大胆扒开图片 | 激情小说 激情图片 | 五月天六月婷婷 | 国产亚洲欧美另类专区 | 国产女同一区二区三区五区 | 四虎永久在线免费观看 | 91在线视频免费播放 | 亚洲国产成人久久综合碰 | 涩涩爱视频| 久久国产高清波多野结衣 | 久久精品2021国产 | 国产一级在线观看www色 | 亚洲精品国产专区91在线 | 色狠狠一区二区三区香蕉蜜桃 | 精品欧美一区二区三区四区 | 日本美女久久 | 美女视频永久黄网站免费观看韩国 | 国产精品高清视亚洲一区二区 | 色呦呦网站在线观看 | 伊人狠狠干 | 亚洲欧美日韩第一页 | 午夜视频网站在线观看 | 综合色网站 | 欧美激情 在线 | 国产精品亚洲综合一区在线观看 | 无毛片 | 玖玖免费|