Avatar billede mrmox2 Nybegynder
20. juli 2013 - 00:07 Der er 10 kommentarer og
1 løsning

if statement virker ikke

Jeg har denne if-sætning til at stå i min kode

if (parent.document.all.iframeBruger<%= Request("Frame") %>)
parent.document.all.iframeBruger<%= Request("Frame") %>.style.height = document.body.scrollHeight;

har forsøgt med anden syntax fra fx stackoverflow hvor de anbefaler brug af typeof men lige lidt hjælper det

I IE7+8 virker sætningen fint.
I IE 9+10 og Chrome virker den ikke.

Hvis jeg får den til at skrive ud hvad indholdet af (parent.document.all.iframeBruger<%= Request("Frame") %>) er så returnerer IE 9+10 [object HTMLIframeElement] og IE 7+8 returnerer [object]
I begge tilfælde mener jeg if-sætningen burde konstatere at objektet eksisterer og derfor er true.

Er der nogen der kan se noget oplagt jeg har overset.
Avatar billede erikjacobsen Ekspert
20. juli 2013 - 00:14 #1
I hvert fald ikke bruge document.all - det er så sidste årtusinde...

Brug getElementById  -  se fx her: http://stackoverflow.com/questions/2408424/document-all-vs-document-getelementbyid
Avatar billede mrmox2 Nybegynder
20. juli 2013 - 08:47 #2
Enig med dig i at det vil være vejen frem

Det ændrer bare ikke på denne if-sætning om jeg bruger det ene eller andet. Derfor tænker jeg at der er noget andet galt med if-sætningen

Især tænker jeg på om det forskellige indhold af (parent.document.all.iframeBruger<%= Request("Frame") %>) overhoveet skal tillægges nogen betydning
Avatar billede erikjacobsen Ekspert
20. juli 2013 - 10:39 #3
Har du link til siden, hvor du anvender getElementById ?
Avatar billede MadsHaupt Juniormester
21. juli 2013 - 16:42 #4
Jeg tror jeg ved hvad der er galt

Kode(Det der er understreget er det der ikke virker, og det der er fed er det du skal skrive i stedet):
if (parent.document.all.iframeBruger<%= Request("Frame")[u] %>) {
parent.document.all.iframeBruger<%= Request("Frame") %>.style.height = document.body.scrollHeight;
}


Og hvis det ikke virker er det nok <%= og %> der ikke virker.

Hvad er det du vil gøre med <%= og %>?.
Avatar billede mrmox2 Nybegynder
22. juli 2013 - 09:25 #5
@ erikjacobsen: jeg har forsøgt at lave et tilgængeligt site. Det ligger på et medlemssite bag login og jeg har forsøgt at bygge et kopisite op uden forbindelse til databasen. Det skal nok komme på et tidspunkt men lige nu får jeg det ikke til at virke.
  Er der noget jeg kan teste på det nuværende site og lægge resultat ind her?


@ MadsHaupt: jeg tror der gik noget HTML formatering galt i dit indlæg, jeg kan ikke tyde svaret. Jeg har prøvet med tuborgklammer omkring kommendoen som if-statement skal eksekvere men det gør ingen forskel (tænker det er fordi ; markerer hvornår if-linjen slutter).
Avatar billede mrmox2 Nybegynder
22. juli 2013 - 09:27 #6
som jeg forstår <%= Request("Frame") %> er det bare en asp-kode der afvikles midt i noget html
Avatar billede erikjacobsen Ekspert
22. juli 2013 - 09:32 #7
Det er altid en god øvelse at isolere problemet, og derved enten selv se fejlen, eller få andre til det. Så det vil jeg anbefale.
Avatar billede MadsHaupt Juniormester
22. juli 2013 - 14:13 #8
Du kan prøve at lave nole alert test på de for skelige tig.

Eksempel:
alert(parent.document.all.iframeBruger<%= Request("Frame") %>);
alert(document.body.scrollHeight);
if (parent.document.all.iframeBruger<%= Request("Frame") %>) {
parent.document.all.iframeBruger<%= Request("Frame") %>.style.height = document.body.scrollHeight;
}
Avatar billede MadsHaupt Juniormester
27. juli 2013 - 15:47 #9
Du kan også bruge console.log(parent.document.all.iframeBruger<%= Request("Frame") %>), så vil du kunne gå ind i browser consolen og se alle detaljer om elementet.
Avatar billede mrmox2 Nybegynder
28. juli 2013 - 11:40 #10
hej - tak for indlæg
jeg arbejder videre med det i næste uge
mvh thomas
Avatar billede mrmox2 Nybegynder
14. september 2013 - 14:10 #11
Oprindelig kode

if (parent.document.getElementById(iframeBruger<%= Request("Frame")%>))
parent.document.all.iframeBruger<%= Request("Frame") %>.style.height = document.body.scrollHeight

Kode der virker

if (typeof (parent.document.all.iframeBruger<%= Request("Frame") %>)!= 'undefined') {
parent.document.all.iframeBruger<%= Request("Frame") %>.style.height = document.body.scrollHeight + "px";
}

To ting galt. For det første at if-sætningen ikke gav et meningsfuldt svar når [object] (IE 7+8) blev til [object HTMLIframeElement] (IE 9+10 og Chrome)
For det andet at document.body.scrollHeight var et tal (206) i IE 9+10 og en txtstreng i IE 7+8 (206px)

Skørt? Ja. Men nu virker det.
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