logi sisse meist KKK

Hei

Mõned aastad tagasi sai veebi asju kirjutatud ja kõigile brauseritega aga nüüd on töö sellest natuke eemale viinud ja sestap ka oskused luitunud (või tehnika eest ära jooksunud?).

Sai siiski kätt proovitu ja tehtud ... võib vist nimetada Ajax rakendus. No igatahes javascriptiga täiendatakse lehte. Kuna ees oli mozilla javascripti juhend, siis Firefox'i peal asi toimib. Safariga sain vaadata, samuti toimib. Aga IE (v7, v8) ... teeb seda mida ikka.

Küsimus, mis moodi tänapäeval IEs javascripti debugida? See, et näita vigasid, on valikutest sisse lülitatud... aga justkui ei näita ikka midagi. Või teistmoodi... kas on midagi triviaalset, mis aitaks http://nemad.pri.ee IEs käima saada.

küsitud Dec 30 '09 at 09:30

eiku's gravatar image

eiku
21113


Ma ei vasta otseselt küsimusele, aga kui Su lõppeesmärk on veebisait tööle saada, soovitan hoopis sellist lahendust:

Kasuta mõnda olemasolevat teeki - näiteks jQuery (või Mootools, YUI, Prototype, Dojo, ... )

Seda sellepärast, et head ja usinad inimesed on sinu eest suure osa debugimist juba ära teinud ja sina saad keskenduda eesmärgi saavutamisele, selmet pead valutada erinevate brauserite ja nende vigadega.

link

vastatud Dec 30 '09 at 10:08

Anti%20Veeranna's gravatar image

Anti Veeranna
2063

Javascript debugmiseks on Microsofti poolt tehtud toode nimega "Microsoft Script Editor". Selle kasutamine ei ole eriti intuitiivne ega loogiline, kuid põhimõtteliselt siiski võimalik. Google abiga leiab päris palju õpetusi.

Näiteks see: http://www.jonathanboutelle.com/mt/archives/2006/01/howto_debug_jav.html

Oma programmist vigade välja ajamiseks on kindlasti ka muid täiendavaid võimalusi

  • töö käigu kohta "silumisinfo" väljastamine (javascripti puhul näiteks alert abil)
  • kõigi funktsiooniväljakutsete tulemuste kontrollimine (et kas tuli ikka tõesti tagasi see mida loodeti või tuli hoopis NULL)
  • Oma koodi pakendamine viisakateks funktsioonideks, mida siis silumise eesmärgil oleks mugav välja kutsuda kas URL reale javascript:minuvingefunktsioon() abil vms.
  • Programmi tükeldamine väiksemateks osadeks, eesmärgiga selgitada välja kus viga tekib.
link

vastatud Dec 30 '09 at 10:49

sigamozart's gravatar image

sigamozart
2994

IE 8il on Developer Tools. Minu arust töötab väga hästi, nii hästi kui Firebug. Vajuta F12, vali 'Script', ja siis 'Start Debugging'.

link

vastatud Dec 31 '09 at 12:59

Tom%20Lenz's gravatar image

Tom Lenz
311

Muidu ühinen Anti soovitusega - ajad on muutunud ja pea keegi ei kirjuta enam kogu oma veebilehe JavaScripti puhtalt lehelt, ikka võetakse aluseks mõni olemas olev raamistik.

Kuid et debugimine teemaks, siis kohe mitte ei saa ma ümber sinu debugimise funktsioonist, või õigupoolest tollest, mis defineeritakse siis kui too on defineerimata:

if (typeof(d) != "function") {
    eval("function d() { return }")
}
  • typeof pole mitte funktsioon vaid operaator. Täpsemalt prefiks-operaator, täpselt nagu !. Seega pole mõtet kirjutada typeof(d), see oleks umbes nagu kirjutada !(d) - sulud on täiesti ülearu.
  • == ja != asemel on parem kasutada === ja !==, esimeste kasutamisel tehakse võrreldavatele objektidele vajadusel tüübiteisendus ning see võib anda ootamatuid tulemusi, need teised aga tunnistavad erinevat tüüpi objektid alati ebavõrdseteks.
  • eval on evil - reeglina on selle kasutamine viga. Liigagi kerge on tekitada seeläbi turvaauke. Antud koodis neid küll pole, aga lihtsa funktsioonikese defineerimiseks pole meil küll evali abi tarvis.
  • returni pole aga tarvilik tühja funktsiooni sisse panna, sealt väljutakse ka ilma selleta.

Seega:

if (typeof d !== "function") {
    var d = function() {};
}
link

vastatud Jan 01 '10 at 21:41

Rene%20Saarsoo's gravatar image

Rene Saarsoo ♦♦
1.1k101121

Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×18
×1

küsitud: Dec 30 '09 at 09:30

nähtud: 2,523 korda

viimati uuendatud: Jan 01 '10 at 21:41

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee