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

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

問題描述

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

谷歌音樂搜索欄的 bug

導(dǎo)致原因

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

以下是我根據(jù)自己的理解反編譯出來的 JS 代碼, 頁面在 onload 的時(shí)候?qū)?huì)執(zhí)行 m.hint.initHint 方法為搜索框添加提示功能.
復(fù)制代碼 代碼如下:
/**
* 為搜索框添加提示功能
* @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);
}

// 在這里將搜索提示賦給臨時(shí)變量
m.hint.Gh[searchBox] = searchTip;
// 如果搜索框存在, 則為搜索框加上臨時(shí)變量和灰色字的 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é)點(diǎn)加載和 JavaScript 初始化之間的時(shí)間. 可以在搜索框加載完成后立刻執(zhí)行 JS, 反正 Google 自己的產(chǎn)品也不需要 SEO. 當(dāng)然, 最好在 DOM ready 的時(shí)候執(zhí)行.

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

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

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

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

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

主站蜘蛛池模板: 亚洲熟女片嫩草影院 | av天堂电影网在线观看 | 国产一区二区内射最近更新 | 日日射日日操 | 99视频偷窥在线精品国自产拍 | 色综合伊人色综合网站中国 | 二级特黄绝大片免费视频大片 | 亚洲伊人久久精品 | 一本之道高清在线观看一区 | 扒开美女的内衣亲吻漫画 | 秋葵app秋葵官网18在线观看 | 很黄很色60分钟在线观看 | 亚洲中文久久精品AV无码 | 两个人的视频日本在线观看完整 | 吃奶摸下的激烈免费视频 | 亚洲精品无AMM毛片 亚洲精品网址 | 久久性综合亚洲精品电影网 | 免费观看国产视频 | 一起洗澡的老师免费播放 | 国产人妻精品午夜福利免费不卡 | 一边亲着一面膜下奶韩剧免费 | 成人影片大全 | 麻豆产精品一二三产区区 | 美国一级大黄一片免费的网站 | 成人免费无毒在线观看网站 | 久久久久嫩草影院精品 | 色AV色婷婷66人妻久久久 | 榴莲推广APP网站入口官网 | 日本无码专区亚洲麻豆 | 99riav9 精品香蕉免费大视频 | 无码人妻精品一区二区蜜桃在线看 | 久久精品视频在线直播6 | 旧里番ovaの催○セイ活指导 | 成人毛片免费在线观看 | 亚洲an天堂an在线观看 | 竹菊影视一区二区三区 | 成人在线免费看片 | 好大好硬好爽好深好硬视频 | 欧美の无码国产の无码影院 | 嗯啊不要老师 | 草莓视频在线观看完整高清免费 |