仿google搜尋提示 SuggestFramework的使用

來源:互聯網
上載者:User

一.首先來看一下什麼是suggest framework
Suggest Framework 故名思意,就是仿 Google Suggest 的一個小架構,讓你的文字框也有提示功能。利用suggest framework你可以在自己的網站上很輕鬆實現“輸入提示”效果,這種效果會很大程度上提高使用者體驗,提高搜尋效率。
一個頁面上可以出現多個搜尋方塊,每個搜尋方塊都可以實現單獨配置。
此架構無瀏覽器限制,基本相容當前的絕大多數瀏覽器,包括Internet Explorer 5+ (Win/Mac)、Firefox (Win/Mac)、Opera 8+等等。

二.下面來介紹一下怎麼安裝
你只需要複製SuggestFramework.js到你的伺服器,然後自訂提示效果的css樣式,實現個性的搜尋提示。
而css樣式檔案,需要你自己做好,並且加入到每一個頁面。
補充:SuggestFramework.js已經試用Dojo ShrinkSafe進行壓縮,具體請看http://alex.dojotoolkit.org/shrinksafe/

三.然後介紹一下如何使用
在網頁的<head></head>標籤中,加入下面兩句:

<script type="text/javascript" src="/path/to/SuggestFramework.js"></script>
<script type="text/javascript">window.onload = initializeSuggestFramework;</script>
有了上面兩句後,每個取了名的文字框會多出五個屬性:
1.action 必須。接受 GET 方式提交的資料,並返回相關 Javascript 數組的動態網頁。
2.capture 如果返回的結果不止一列(比如本例中的單詞和中文意思),將要替換使用者輸入的那一列(從 1 開始算)。通常這個和資料庫欄位相對應。
可選,預設為 1.
3.columns 下拉顯示的列數,比如本例中,按字母查詢單詞,並將中文意思顯示在右側。可選,預設為 1.
4.delay 查詢延時,單位為毫秒。較低的延時會得到更快的反應,但會加重伺服器負擔。可選,預設為 1000(1秒)。
5.heading 如果設為 true ,第一個數組值將作為不可選擇項(標題列)。當有兩列或兩列以上資料時非常有用。可選,預設為 false.

資料提交只需要兩個資料
1.type 輸入框的name
2.q 搜尋索引鍵(預設UTF-8編碼)
您下載的壓縮包中,已經包含php和ColdFusion樣本,當然這個架構可以適用於所有的程式設計語言,無平台限制。後台資料輸出就是一條 Javascript 語句。一維數組這麼寫:
new Array(”val1″, “val2″, “val3″);

二維數組這麼寫:
new Array(
new Array(”第1行條第1列”, “第1行第2列”),
new Array(”第2行條第1列”, “第1行條第2列”),
new Array(”第3行條第1列”, “第1行條第2列”)
);

最後介紹一下,css中需要定義的4個類
.SuggestFramework_List 提示內容所在地區
.SuggestFramework_Heading 第一條提示
.SuggestFramework_Highlighted 設定高亮的一條提示
.SuggestFramework_Normal 其他提示

四.提示,如果出現亂碼或者javascript指令碼錯誤請用下面方法解決。
1. 給後台返回資料的頁面(例如display.asp) 添加一個 GB2312 轉 UTF-8 的函數,使用此函數把資料庫讀出來的內容轉成 UTF-8 編碼。
2. 如果是後台為asp頁面,代碼首行添加 <[email=%@LANGUAGE=”VBSCRIPT]%@LANGUAGE=”VBSCRIPT[/email]” CODEPAGE=”936″%> 指令。
3. 把後台返回資料的頁面(例如display.asp)檔案存成 UTF-8 格式。
e文原文地址:http://sourceforge.net/project/shownotes.php?group_id=145701&release_id=399504
官方:http://sourceforge.net/project/showfiles.php?group_id=145701

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.