iframe loader parent indhold

Tags:    javascript iframe

Kære kloge folk.

Jeg har brug for hjælp med et problem på Københavns Universitets Intranet.

Situationen er, at vi benytter en iframe til at loade en web-service fra et eksternt system i en side i intranettet. Web-servicen er workflow med en form og en submitfunktionalitet. Når brugeren submitter formen til sidst, så loader web-servicen en side i intranettet inde i iframen. Det betyder, at jeg sidder med en side i intranettet som har en iframe, der loader intranettet inde i iframen. Åndssvagt. Det er ikke muligt at ændre hvad web-servicen loader når submit-funktionalitet er kørt (hvilket havde været den letteste løsning).

Jeg har skabt følgende kode:
Fold kodeboks ind/udJScript kode 



Scriptet kontrollerer, om indholdet i iframe er det samme, som i parent frame, og hvis det, så loader scriptet en alternativ side. Det fungerer fint.
Problemet er, at den første side (den forkerte side eller intranettet) er synlig i et par sekunder, før den alternative side loades. Det vil jeg gerne undgå.

Jeg har forsøgt at sætte display: none;, som standard på det element, hvori iframe loades, og så bagefter sætter jeg display: block; på elementet, såfremt iframe ikke er lig med parent.
Her er hvad jeg har forsøgt indtil nu. De forskellige forsøg er udkommenteret. Jeg håber nogen kan hjælpe. Formodenlig er der noget i vejen med min logik:o)
Fold kodeboks ind/udJScript kode 




1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Prøv dig frem til følgende idé:

I top window:
Fold kodeboks ind/udKode 


Ideen går på at du har en function i f.eks. window.top. Fra dit window.top definerer du en onload handler på din iframe. Denne onload handler kan så kalde en function i window.top.

Tanken bag er ret kryptisk, men det hele handler om method scopes.

Top window skal være et niveau over den problematiske iframe. Så ved ikke om du rent faktisk kan bruge idéen.



t