[ Pobierz całość w formacie PDF ]
.Tabela 4.2.Wyszukiwarki i zmienne okreœlaj¹ce liczbê wynikówWyszukiwarkaNazwa polaDopuszczalne wartoœciPrzyk³adHotBotDC10, 25, 50, 100DC=10InfoSeek Advanced SearchNumberresults10, 20, 25, 50Numberresults=10Scientific AmericanDocs10, 25, 50, 100Docs=10Yahoo!N10, 20, 50, 100n=10Wartoœci te pobiera³em z kodu Ÿród³owego stron poszczególnych witryn.Niektórepola dostêpne s¹ tylko w zaawansowanych wersjach wyszukiwania, wiêc adresy URLpodane w tablicy engines mog¹ nie dzia³aæ.Tak¿e programiœci tworz¹cywyszukiwarkê mogli ustaliæ sta³y limit.Jeœli nie widaæ na stronie ¿adnejmo¿liwoœci okreœlenia liczby wyników, mo¿na skontaktowaæ siê z w³aœcicielamii spytaæ kogoœ, jak zmieniæ parametry (o ile w ogóle jakieœ s¹ dostêpne).Jeœlinie, nale¿y u siebie dodaæ jakieœ ustawienie domyœlne, które do niektórychwyszukiwarek w ogóle nie bêdzie przesy³a³o informacji o oczekiwanej liczbiewyników.Zwróæmy te¿ uwagê na to, ¿e w ró¿nych wyszukiwarkach mog¹ byæ dopuszczalne innewartoœci.Nale¿y wówczas dodaæ odpowiedni kod.Nie jest to trudne; u¿yjprocedury opisanej ni¿ej, a póŸniej w analogiczny sposób mo¿esz do swojejaplikacji dodawaæ nowe funkcje.Dodaj do ramki zawieraj¹cej pole tekstowe listê wyboru.Dodaj do ka¿dej tablicy zawieraj¹cej opis przegl¹darki dodatkowy element.Dodaj instrukcjê new Array(), tworz¹c¹ tablicê z dopuszczalnymi wartoœciamiw danej przegl¹darce; tablice te bêd¹ nowymi elementami tablic znajduj¹cych siêw tablicy engines.Usuñ z tekstu zapytania odpowiedni¹ parê wartoœci (jeœli para taka jest tamumieszczona).Dostosuj kod funkcji callSearch(), aby prawid³owo ³¹czone by³o zapytaniedla poszczególnych wyszukiwarek.PrzejdŸmy teraz do przyk³adowej wyszukiwarki HotBot.Krok 1.Dodanie listy wyboru nie powinno stanowiæ problemu.Rozs¹dne mo¿e byæ wybraniewartoœci najczêœciej u¿ywanych w przegl¹darkach, które uwzglêdnia naszaaplikacja.W przyk³adzie zdecydowano siê na liczby 10, 25, 50 i 100:102550100Krok 2.Ka¿de wywo³anie new Array() w tablicy engines opisuje wyszukiwarkê z trzemaelementami: nazw¹ wyszukiwarki, tekstem przekazywanym do wyszukiwania i stron¹domow¹ wyszukiwarki.Oto znów kod opisuj¹cy HotBot:newArray('HotBot','http://www.hotbot.com/?MT=','http://www.hotbot.com/')Teraz mamy element 3., którego wartoœci¹ bêdzie nazwa pola okreœlaj¹cego liczbêwyników.Pole to nazywa siê – w przypadku HotBot – DC, wiêc nowy rekord bêdziewygl¹da³ tak:newArray('HotBot','http://www.hotbot.com/?MT=','http://www.hotbot.com/','DC')Jeœli co najmniej jedna z wyszukiwarek nie ma potrzebnego pola, niech tawartoœæ pozostanie pusta (null).Krok 3.Teraz, kiedy okreœliliœmy ju¿ potrzebn¹ nazwê, dodaliœmy kolejn¹ tablicêzawieraj¹c¹ dostêpne wartoœci.Nowa tablica ma byæ elementem 4.Teraz opisHotBot bêdzie wygl¹da³ nastêpuj¹co:newArray('HotBot','http://www.hotbot.com/?MT=','http://www.hotbot.com/','DC',new Array(10, 25, 50, 100) )Krok 4.Ten krok obowi¹zuje tylko wtedy, gdy domyœlny napis zapytania w elemencie 2.zawiera parê nazwa –wartoœæ, opisuj¹c¹ ustawienia wyniku.Oto odpowiedni zapisHotBot:http://www.hotbot.com/?MT=Jako ¿e DC tu nie wystêpuje, mo¿emy krok 4.pomin¹æ.Jednak w ramach przyk³adupoka¿ê obs³ugê wyszukiwarki Scientific American, która zawiera zapis docs=100.Spójrz:'http://www.sciam.com/cgi-bin/search.cgi?' +'searchby=strict&groupby=confidence&docs=100&query=',Musielibyœmy odpowiedni fragment wyci¹æ, otrzymuj¹c nastêpuj¹cy zapis:'http://www.sciam.com/cgi-bin/search.cgi?' +'searchby=strict&groupby=confidence&query=',Jeœli co najmniej jedna z przegl¹darek nie zawiera liczby wyników, któr¹ mo¿naby ustawiaæ, po prostu nie twórz wartoœci elementu 4.Krok 5.Ostatni¹ czynnoœci¹ jest stworzenie zapytania przed przekazaniem gowyszukiwarce.Robi siê to w funkcji callSearch().Oto kod oryginalny:function callSearch(searchTxt, idx) {if (searchTxt == "") {parent.frames[2].location.href = engines[idx][2] +escape(searchTxt);}else {parent.frames[2].location.href = engines[idx][1] +escape(searchTxt);}}Jeœli u¿ytkownik nic nie wprowadzi w polu tekstu, aplikacja nadal mo¿eprzekierowaæ u¿ytkownika na stronê g³Ã³wn¹ wybranej wyszukiwarki, wiêc blokpo if pozostanie bez zmian
[ Pobierz całość w formacie PDF ]