Avatar billede learner Praktikant
31. juli 2005 - 12:19 Der er 13 kommentarer og
1 løsning

IE lukker sommetider, hvorfor?

Hej jeg oplever sommetider at Explorer lukker ned pga en fejl i javascript. Jeg har fundet ud af at det højst sansynligt er dette herunder der skaber fejlen. Hvad er det jeg har gjort forkert?

<a href="#"  onclick="closeobj('id4');openobj('id3');">Show A</a>
<a href="#"  onclick="closeobj('id3');openobj('id4');">Show B</a>
<a href="#"  onclick="closeobj('id3');openobj('id4');">Show A & B</a>

<div id="id3" style="width:90%;display:none;">A</div>
<div id="id4" style="width:90%;display:none;">B</div>

Jeg bruger disse JS funtioner til det!

function closeobj(obj){
    objToClose=root(obj);
    objToClose.style.display="none";
}
function openobj(obj){
    objToOpen=root(obj);
    objToOpen.style.display="block";
}

På forhånd tak :o)
Avatar billede roenving Novice
31. juli 2005 - 13:46 #1
Hvad er root() ?-)
Avatar billede learner Praktikant
31. juli 2005 - 15:37 #2
Åhhh :o) den glemte jeg.
her er den:
function root(toObject){
    if(document.getElementById)return(document.getElementById(toObject));
    else if(document.all)return(document.all[toObject]);
    else if(document.layers)return(eval("document." + toObject));
    else return(null);
}
Avatar billede roenving Novice
01. august 2005 - 08:34 #3
Det burde ikke give nogen fejl i nogen browser ...

-- nå, ja, lige bortset fra at NS4 ikke kender et style-objekt, men det er vel alligevel ikke aktuelt !-)
Avatar billede learner Praktikant
01. august 2005 - 09:49 #4
kan det være hvis jeg glemmer ''
feks:
onclick="closeobj(id3);openobj(id4);"
Avatar billede roenving Novice
01. august 2005 - 09:56 #5
-- næh, for det fungerer faktisk i IE, men ikke i nogen andre browsere ...
Avatar billede roenving Novice
01. august 2005 - 09:57 #6
Nah ...

-- ikke med den root-funktion, men det ville have fungeret uden ...
Avatar billede learner Praktikant
01. august 2005 - 10:30 #7
argh, jeg har lige tjekket. jeg bruger ('','') alle steder som jeg skal!

Så er der den root()
Kunne den laves bedre eller på en anden måde?
Så vidt jeg forstår så er den lavet for at det skal virke i forskellige browsere. Korrekt?
Avatar billede roenving Novice
01. august 2005 - 10:37 #8
Det er en ting, som returnerer et objekt uanset browser, ja ...

-- men da du skal have fat i style-objektet vil det være mere direkte at returnere det objekt i stedet:

function stRoot(toObject){
    if(document.getElementById)return(document.getElementById(toObject).style);//Nyere browsere
    else if(document.all)return(document.all[toObject].style);//IE 4 og ældre Operaer
    else if(document.layers)return(eval("document." + toObject));//NS 4 -- intet style-objekt
    else return(null);
}

-- og så skal style så fjernes fra dine funktioner:

function closeobj(obj){
    objToClose=stRoot(obj);
    objToClose.display="none";
}
Avatar billede learner Praktikant
01. august 2005 - 10:41 #9
Du kan prøve at få fejlen til at opstå her:
http://find-travel-agents.com/ (netop blevet åbnet efter ½ års arbejde - der er enkelte fejl)

Du kan genskabe fejlen på forsiden ved at klikke på disse (JS) links:
How is it wirking?
Destinations
X
See the travel agents who sends offers

Vil du prøve det for mig?
(jeg kører IE 6.0 SP2 i XP Pro)

I øvrigt må du gerne kommentere siden :o)
Avatar billede roenving Novice
01. august 2005 - 10:50 #10
Jeg fik i hvert fald ingen fejl !-)
Avatar billede learner Praktikant
01. august 2005 - 12:40 #11
Nej, fejlen opstår tilfældigt hvis man klikker frem og tilbage en masse gange. Altså åbner og lukker rem og tilbage osv. Ligepludselig lukker den med fejl!
Avatar billede learner Praktikant
01. august 2005 - 13:03 #12
Siden bliver lige lukket ned igen. Jeg vender tilbage. Tak for hjælpen indtil videre :o)
Avatar billede learner Praktikant
12. august 2005 - 08:36 #13
Nu er siden åbnet igen + den danske udgave på http://rejseagenten.dk er lige åbnet. Fejlen opstår kun sjældent i IE. Feks på forsiden som jeg beskriver længere oppe. Håber fejlen kan findes...

Tak :o)
Avatar billede learner Praktikant
25. august 2005 - 21:32 #14
Lukker. Ingen løsning fundet på problemet. Men det forekommer os meget sjældent!

Så tak for jeres indlæg :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester