TDZGamer Skrevet 5. januar 2008 Del Skrevet 5. januar 2008 Jeg er velkjent med html, css, xml, men Javascript er jeg litt færsk med. Started med et leke prosjekt nå og begynte med å se på hvordan et script kan justere seg i forhold til browser og operativsystem. Derfor laget jeg en array med noen navn/verdi par fra document og navigator objektene. Jeg åpnet disse i Firefox, IE og Opera. Kan vel ikke si at jeg ble overrasket over at noen av verdiene fikk 3 forskjellige verdier Et problem som alle har til felles er at jeg ikke greier å lage kode som oppdager om innholdet i en variabel er string, array eller objekt. Finnes det en måte som funker på alle platformer for dette? Lenke til kommentar
TDZGamer Skrevet 5. januar 2008 Forfatter Del Skrevet 5. januar 2008 Jeg er i ferd med å finne ut av dette på egenhånd nå. Bruk av funksjonen typeof synes å være veien å gå. Det tok sannelig litt tid før jeg fant ut at den eksisterte så nå lurer jeg på hvor jeg skal finne god Javascript dokumentasjon! Foreløpig virker det som om Mozilla Developer Center er stedet. Er dette den offisielle dokumentasjonen? Lenke til kommentar
luxus Skrevet 5. januar 2008 Del Skrevet 5. januar 2008 (endret) Hei, Mozilla developer center er et fint sted å finne dokumentasjon ja, men den dekker jo dessverre bare Mozilla browsere.. Som oftest holder det, men av og til må man inn på Microsoft sin dokumentasjon f.eks (grr!). Ellers er java script: The Definitive Guide, Fifth Edition å anbefale hvis du virkelig vil lære deg JS. Når du skriver at du leke med et prosjekt der du bruker navn/verdi par fra document og navigator for å justere script i forhold til de forskjellige browserene håper jeg virkelig dette er fordi du ønsker å gjøre nettopp det; leke. Generelt sett er dette ikke veien å gå når man skriver JS og ønsker å sikre seg at scriptet fungerer i de forskjellige browserene. En mye bedre strategi å bruke i denne sammenheng er det å sjekke om funksjonalitet finnes, f.eks. slik som dette: var addEventHandler = function(node, type, f) { if ( node.addEventListener ) { // w3c sin standard måte å gjøre dette på fantes, bruker denne node.addEventListener(type, f, false); // false -> event bobler oppover } else if ( node.attachEvent ) { // ie sin måte fantes, bruker denne.. node.attachEvent("on"+type, f); // i IE bobler alltid events oppover } else { // Dette burde virke på alle, men kan ikke legge på mer enn 1 event handler pr element node["on"+type] = f; // "Gamle" måten å gjøre dette på } }; Oh! Jeg glemte nesten et supert sted å lese om JS: http://javascript.crockford.com/ Her finner du også videofilmer av Crockford selv (Crockford == JS guru som jobber i YAHOO :-) ) der han underviser i JS. Blant annet: - Video: JavaScript - Video: The Theory of the Dom - Video: Advanced JavaScript - [... osv ...] Veldig nyttig! :-) .. Ja, og for å svare på spørsmålet ditt så er ikke typeof alltid like nyttig. typeof [] vil være f.eks. "Object", så da må man også sjekke via instanceof. Først da får man vite at det er Array. Mer om dette kan du lese på denne siden: http://javascript.crockford.com/remedial.html Endret 5. januar 2008 av luxus Lenke til kommentar
TDZGamer Skrevet 5. januar 2008 Forfatter Del Skrevet 5. januar 2008 Snakk om å få ting rett i fanget! For 12 timer siden var jeg så blank på JS at jeg så for meg å bruke for eksempel navigator objektet ja. Nå har jeg imidlertid innsett at det vil ikke fungere. Jeg driver å plundrer med en liten .net web applikasjon og tenker at det skader vel ikke å flytte litt last over på klienten. Spesifikt sende/motta rådata via en ajax metode og bruke JS til å pynte på det. Parsing av rotete bruker-tekst er bortkastet arbeide for en server slik jeg ser det. Veldig nyttig svar. Tusen takk luxus Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå