Avatar billede teltploek Nybegynder
12. februar 2010 - 10:12 Der er 4 kommentarer

<iframe src="#"> issue

Hej,

Mit spørgsmål tager udgangspunkt i følgende eksempel:

Eksemplet
<cfif compareNoCase("post", cgi.request_method)>
  <cfset session.objFoo = createObject(...)>
</cfif>

(For ikke CF kyndige betyder ovenstående, at hvis der ikke postes til denne side, så opret objFoo objektet)

Jeg har i samme side en iframe, som ser ud som følger:

<iframe id="fooIframe" src="#" style="display:none"></iframe>

Denne iframe har til formål at tage imod et post fra en formular til upload af billeder, sådan at siden ikke reloader når man vil uploade en fil. Bemærk, at denne post intet har at gøre med indeværende side, og derfor aldrig vil have indflydelse på <cfif> nævnt tidligere.

Problemet er dog, at <iframe ... src="#" ...> opleves forskelligt fra browser til browser. For mit eget vedkommende har jeg kunne konstatere at det betyder følgende i de respektive browsere:

IE8: viser about:blank i iframe
Firefox: viser også about:blank i iframe, men ikke korrekt. Jeg har forsøgt at designet på min about:blank om i Firefox, og kan konstatere, at den forsøger at vise den, men ikke kan vise mit custom design. For en god ordens skyld skal det nævnes at jeg er ligeglad med at se mit design. Det var kun oprettet for at teste om det virkelig var about:blank der blev vist.
Chrome: viser derimod den side der står i adresselinjen. Problemet med det er, at det selvfølgelig er en GET, og derfor vil den gå ind i <cfif> og resette mit session.objFoo.

Jeg har løst ovenstående issue, med reset af session.objFoo ved, at lave en blank side, som inkluderes i min iframe, så der er ikke længere noget udestående der, men jeg har ud fra IIS-logs kunne konstatere, at enkelte Firefox 3.6 brugere har oplevet det samme, som jeg oplevede i Chrome.

Spørgsmålet
Jeg har ikke selv kunne genskabe problemet i Firefox, og derfor vil jeg høre, om der er nogen derude der kan fortælle mig om, eller henvise mig til relevant læsestof omhandlende det konkrete emne <iframe src="#"> og hvordan # fortolkes i src-attributten. Det har både hvad standarden siger, men også hvad det aktuelt fortolkes som, af de forskellige browsere.

- teltploek
Avatar billede Slettet bruger
26. februar 2010 - 00:20 #1
Jeg kan ikke lige finde noget materiale om det du efterspørger, men kan du ikke bare sætte kilden til "/" eller "/sidenavn.html"?
Så slipper du for alle problemerne.
Avatar billede teltploek Nybegynder
26. februar 2010 - 09:27 #2
Jo sagtens. Løsningen på det aktuelle problem har jeg også fundet, men jeg kunne godt tænke mig at vide, hvorfor den gør som den gør.
Avatar billede Slettet bruger
26. februar 2010 - 11:04 #3
Få fat i W3C og spørg dem, hvordan en browser skal gøre i det tilfælde. (Allerede her kan der opstå problemer. Måske er det ikke en del af standarten, og altså ikke meningen at man skal sætte kilden til "#".)
Tag så fat i Mozilla og The Chromium Project (Microsoft er næppe til at få fat i omkring den slags sager) og spørg dem, hvorfor deres browsere gør som de gør.
Avatar billede Slettet bruger
28. februar 2010 - 16:44 #4
Var det svar nok?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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