[ Pobierz całość w formacie PDF ]
.JeÅ›li przeprowadzisz test skryptu w Netscape 3, zobaczysz, że przeglÄ…darka go po prostu ignoruje - bez szkód, bez problemów.Tak wÅ‚aÅ›nie wyglÄ…da elegancka degradacja - nie ma wiÄ™c potrzeby wprowadzania zmian.Zobacz, co siÄ™ stanie, gdy behawior zostanie zastosowany z wartoÅ›ciami domyÅ›lnymi.W swojej obecnej postaci nie ma on zdefiniowanych wartoÅ›ci domyÅ›lnych szerokoÅ›ci i wysokoÅ›ci.A jeÅ›li użytkownik zastosuje go wÅ‚aÅ›nie w ten sposób? Wypróbuj sam, a zobaczysz, że wstawiany kod nie jest kompletny:<a href=”#” onMouseUp=”resizeBrowseWindow( , )”>Click me!</a> Najprostszym sposobem ominiÄ™cia tego problemu jest umieszczenie wartoÅ›ci domyÅ›lnych w oknie dialogowym.Zrób to, zmieniajÄ…c kod formularza:l<table><tr valign=”baseline”><td align=”right” nowrap>New width:</td><td align=”left”><input type=”text” name=”width” size=”8” value=”300”></td></tr><tr valign=”baseline”><td align=”right” nowrap>New height:</td><td align=”left”><input type=”text” name=”height” size=”8” value=”300”></td></tr></table>Wprowadź zmiany i wypróbuj poprawiony behawior.Teraz w oknie dialogowym powinny pojawiać siÄ™ wartoÅ›ci domyÅ›lne.lPrzetestujbehawior stosujÄ…c nieprawidÅ‚owe dane.Zobacz co siÄ™ stanie, jeÅ›li wprowadzisz dane nienumeryczne, zera lub pozostawisz pola tekstowe puste, tak jak pokazuje rysunek 22.25.Co siÄ™ stanie? Już wiesz, że pozostawienie pól tekstowych pustych to niebezpieczna propozycja.Równie niebezpieczne jest wpisanie zer.Wprowadzenia danych nienumerycznych spowoduje wygenerowanie w przeglÄ…darce Internet Explorer bÅ‚Ä™du JavaScript i jest zdecydowanie zÅ‚ym pomysÅ‚em.Chyba musisz jakoÅ› rozwiÄ…zać ten problem.lRys.22.25.Nienumeryczne dane lub zera wprowadzone w oknie dialogowym behawiora Resize Window spowodujÄ… przekazanie funkcji niepoprawnych argumentówlWprowadź w behawiorze zmiany siÄ™ uniemożliwiajÄ…ce wprowadzanie nieprawidÅ‚owych danych.ZmieÅ„ definicjÄ™ funkcji applyBehavior() tak, aby przed każdym wstawieniem wywoÅ‚ania funkcji, sprawdzana byÅ‚a poprawność wypeÅ‚nienia pól formularza.W tym przypadku dopuszczalne sÄ… jedynie dodatnie liczby caÅ‚kowite.Możesz siÄ™ też zastanowić, czy dopuszczać jako poprawne bardzo duże liczby.Wprowadzenie niepoprawnych danych powinno być korygowane zastÄ…pieniem ich wartoÅ›ciami domyÅ›lnymi.Procedury kontrolne możesz zaimplementować w kodzie źródÅ‚owym na wiele sposobów - wszystko zależy od przyjÄ™tego przez Ciebie stylu tworzenia skryptów.Twój finalny kod mógÅ‚by wyglÄ…dać na przykÅ‚ad tak:lfunction applyBehavior() {var width=document.theForm.width.value;var height=document.theForm.height.value;if (width==”” || width<1 || width>2000 || parseInt(width) != width){width=300;}if (height==”” || height<1 || height>2000 || parseInt(height) != height){height=300;}return”resizeBrowserWindow(“ + width + “,” + height + “)”;}lWypróbuj poprawiony behawior.Co siÄ™ teraz stanie, gdy wprowadzisz w oknie dialogowym dziwaczne dane (lub nic)? W polach tekstowych powinny zostać zachowane wartoÅ›ci domyÅ›lne (w przypadku naszego ćwiczenia sÄ… to wartoÅ›ci 300 i 300).Twój behawior jest teraz odporny - a przynajmniej bardziej odporny niż poprzednio.lProjekt: testowanie użytecznoÅ›ciChociaż sam możesz wyÅ‚apywać bÅ‚Ä™dy techniczne, do wyszukiwania bÅ‚Ä™dów projektowych i zwiÄ…zanych z zastosowaniami najlepiej nadajÄ… siÄ™ inni - a szczególnie osoby, które nie majÄ… pojÄ™cia o procesie tworzenia i same siÄ™ tworzeniem oprogramowania nie zajmujÄ….Osoby testujÄ…ce wersjÄ™ beta mogÄ… znaleźć sÅ‚abe strony Twojego rozszerzenia - a w takim przypadku czeka CiÄ™ powrót do procesu uodparniania.Bardziej jednak prawdopodobne, że wskażą wady w samym projekcie
[ Pobierz całość w formacie PDF ]
Tematy
IndexZaginiona księga z Salem Howe Katherine
Mario Vargas Llosa Szelmostwa Niegrzecznej Dziewczynki
Allende Isabel Córka fortuny
Huberath Marek Miasta pod skałą
Michel Foucault Archaeology Of Knowledge
Moje miejsce na ziemi Adler Elizabeth
Andrea A. Contemporary sources for the fourth crusade
Zeydler Zborowski Zygmunt Zbrodnia na Cyrhli Toporowej
Bourne Sam Ostatni testament
Zelazny Roger Amber 07 Krew Amber