24. august 2004 - 10:24Der er
12 kommentarer og 1 løsning
Script skal køre på mozilla også?
Hej,
jeg mangler hjælp til at få oversat følgende script således det vil eksekvere i en mozilla også - og derved kan jeg få det over på en mac så det virker der også. forhåbentligt.
function update(){ var x = document.body.clientHeight; x = x - document.all.pnlSums.offsetHeight; x = x - document.all.pnlSearchBar.offsetHeight; x = x - 80;
Jeg har prøvet med document.forms["Webform2"].elements.. men kan ikke få det til at virke - i mozillas javascript console ser det ud som om det bliver tolket til document.forms.webform2.elements.element
Håber der er nogle guruer der kan hjælpe med at forklare lidt af forskellen - og om nødvendigt banke mig oven i hovedet med en våd explorer og sige at den er den stygge.. ;-)
Jeg er ikke sikker på, at det kan klare alle browsere, men det mest simple handler om .all:
function update(){ var x = document.body.offsetHeight;//clientHeight virker vist ikke i andet end IE, prøv offsetHeight i stedet x = x - document.getElementById('pnlSums').offsetHeight; x = x - document.getElementById('pnlSearchBar').offsetHeight; x = x - 80;
ok... det skal ihvertfald testes... Men getElementById - ved du om den virker i IE. Eller skal jeg lave en lille If browser.appname = IE agtig ting - og så have to scripts eller kan alt dette gøre i "begge lejre".
og det ser ud til at virke både i IE og i mozilla.
Så nu laver jeg det lige færdigt med de andre scripts - og så skal det testes på mac.. Glæder mig helt.. hehe...
Mange tak for hjælpen - så kan man lære ikke at udvikle i explorer.. Eller kan man.. :-)
Smid et svar, så du kan få pointsene.
Er det meget vigtigt at angive 'px' - det burde den da kunne gætte sig til - men selvf. er en standard en standard og den kan /bør man bare leve op til.
IE4 kan ikke getElementById, men den er også ved at være totalt udryddet på verdensplan ...
-- og grundlæggende er det bedre at teste på, om browseren kan de ting man har brug for, en typisk en fra den ikke så fjerne fortid:
if(document.getElementById){ //Kode til IE5+, NS6, Mozilla og de andre DOM-browsere }else if(document.all){ //Kode til IE4 }else if(document.layers){ //Kode til NS4 }else{ alert('Din browser understøtter desværre ikke dhtml tilstrækkeligt'); }
ja.. det kan du have ret i... Det er ikke så vigtigt med de "gamle" browsere.. Medmindre de kommer i spil på mac. Det er et system der kører internt, så vi kan opdatere alle klienter nemt - og de er opdateret. Så jeg har rimelig styr på "kunderne". Der er bare nogle der kun bruger mac - og der skulle det jo også gerne virke. :-)
Mht. px er det simpelthen fastsat i standarden at en css-fortolker (her browseren) skal opgive at fortolke længder, hvis der ikke er angivet en enhed, derfor vil en hel del browsere undlade at fortolke uden px; !-)
-- og gætte ?-)
Hvorfor tror du, det er så nemt at lave en browser, som er mange gange så hurtig som IE ?o]
IE er simpelthen stopfyldt med fejlretningskode, hvorfor dens normale indstilling da også er quirks-mode, altså den går i fortolkningen ud fra at det er en rablende idiot, som har sat det sammen, der kommer ind som en html-side, hvorfor de regler som er lavet af en-eller-anden programmør i Bombay for 8 år siden, træder i kraft, og browseren skider højt og flot på den kode, som faktisk er i dokumentet ...
Det giver helt klart nogle problemer, når siden så skal vises i andre browsere, som mere eller mindre overholder standarderne, de har i hvert fald ikke chancen for lige at ringe til Bombay, så de ringer til W3C, som M$-produkterne jo faktisk også burde ...
Derfor er det oftest lettere at udvikle mod f.eks. Mozilla eller Opera, for de bugs IE har i standards-mode er ret veldokumenterede, så det er ret nemt at finde de få work-arounds man skal tilføje !o]
Hvis du kan styre dine Mac-brugere kan du jo fortælle dem, at det du laver, har du kun tid til at lave, så det virker i Netscape, Mozilla, FireFox, Camino, mens det vil kræve nærmere test, at kigge efter, om det vil du i Safari -- IE/Mac er udelukket !-)
Så kom kommentaren.. hehe... :-) Jeg er helt enig. Vil også meget gerne være bedre til det cross-platform-browser ting. Det generer mig lidt at jeg ikke ved nok - for når noget jeg laver ikke virker i IE - er jeg nødt til at lave det om fordi de fleste herinde bruger ie - og så ender det omvendt - at jeg leder efter workarounds til at overholde standarden - og det holder jo ikke.
Men tak for hjælpen.. Det er godt der er andre der kan når jeg ikke selv kan.. :-)
ja.. ie/mac stinker.. Men regner med at de får installeret firefox. Så er jeg ovre det. Har hentet installationsfilen - og så er det det. Så får de også en god browser med i købet.. ;-)
det var så lidt.. Det er vist mig der siger mest tak.. :-)
Øv med events'ne.. Den bruger jeg til at fange enter.. Så den ikke trykker logud hvis man kommer til at trykke enter - logud er nemlig den første button i formen... :-(
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.