Open Search ותיבת החיפוש של מיקרוסופו
כידוע לכולם, ב Internet Explorer 7, קיימת תיבת חיפוש, המאפשרת חיפוש מהיר באתרים שונים, ישירות מהדפדפן עצמו.
מיקרוסופט, בשיתוף Amazon עובדים בנושא במסגרת תקן ה Open Search, שמטרתו, להניע את בוני האתרים להשתמש בתבנית קבועה למחרוזות החיפוש בדפדפן (אחרי שמקלידים את טקסט החיפוש, הכתובת שהמשתמש מופנה אליה), ולאפשר לכולם לגשת אליה, משמע, שהנתונים יועברו בשיטת GET ולא POST.
למשל, במנוע החיפוש של Google, http://www.google.co.il/search?hl=iw&q=My+Search+String&meta= כך נראית כתובת החיפוש של My Search String. שימו לב, שערך החיפוש תמיד יהיו אחרי הפרמטר q, ותמיד יהיו לו הגדרות.
באמצעות קובץ XML שנכתוב, קובץ XML אחיד ל Open Search, נוכל לתאר איך אמורה להופיע הכתובת חיפוש של מילה מסויימת, כשכפרמטר, נקבל את searchTerm - מילת החיפוש, ונתאר איך הייתה נראית מחרוזת החיפוש עבור המילה הזאת בקובץ XML.
<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>שם האתר</ShortName>
<Description>התיאור</Description>
<Url type="text/html" template="http://www.yoursitehere.com/search/SearchResults.aspx?q={searchTerms}" />
</OpenSearchDescription>
כתבנו שם, תיאור בתגיות הרלוונטיות והגדרנו איך אמורה להיראות כתובת ה url. מה התבנית שלה.
אז התבנית היא נניח דומיין פשוט, שיש לו דף חיפוש בשם SearchResults.aspx שתמיד יועבר אליו, ב GET (השיטה שבה עובד Open Search) פרמטר q עם מילת החיפוש. הביטוי {searchTerms} מציין שפה תופיע מחרוזת החיפוש.
בשביל הדוגמא, נעשה דבר זהה עבור גוגל.
<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Google Search Engine</ShortName>
<Description>Google's Search engine allow you to search the web</Description>
<Url type="text/html" template="http://www.google.co.il/search?hl=iw&q={searchTerms}&meta=" />
</OpenSearchDescription>
כמו שאתם רואים, השתמשנו באותה מחרוזת חיפוש שהייתה לנו בדוגמא הכותבת לכתובת חיפוש של גוגל, כשאת הפרמטר q המרנו ב {searchTerms} כדי לציין שפה תופיע מחרוזת החיפוש בדפדפן.
את הקובץ XML נעלה לשרת.
עכשיו, מאיזשהו דף, נעשה לינק עם קוד JavaScript שלמעשה מוסיף את החיפוש שלנו, למנגנון החיפוש של IE 7, לפי התבנית כתובת שכתבנו בXML.
<a href="#" onClick="window.external.AddSearchProvider("http://www.yoursitehere.com/yoursearchprovider.xml");">
כשבמקום הכתובת שפה, נכניס את הכתובת לקובץ XML שכתבנו, שישמש למעשה כ Provider.
כשIE7 יאתר את זה, הוא ישאל את המשתמש אם להוסיף לחיפוש, ואם המשתמש יאשר, ניתן יהיה לבצע חיפוש עם הנתונים הללו.
כשיתבצע החיפוש, יעבוד IE7 לפי הקובץ XML והתבנית בשביל להעביר את המשתמש לדף תוצאות החיפוש.
בהצלחה,
שחר.