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:
- <script type="text/javascript">
- var isInIFrame = (window.location != window.parent.location) ? true : false;
- if (isInIFrame == true) {
- window.location.href = 'https://intranet.ku.dk/hjaelp/grupperum/for_grupperumsejere/inviter_medlemmer/ekstern-gaest/Sider/gaest_bekraeft.html';
- }
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)
- <style type="text/css">
- /*#MSOZoneCell_WebPartWPQ3 {display: none;}*/
- /*#ctl00_m_g_03b90207_bcff_4c61_b77c_3d7e4dc50692 iframe {display: none;}*/
- /*#ctl00_m_g_03b90207_bcff_4c61_b77c_3d7e4dc50692 {display: none;}*/
- </style>
- <script type="text/javascript">
- var isInIFrame = (window.location != window.parent.location) ? true : false;
- if (isInIFrame == true) {
- window.location.href = 'https://intranet.ku.dk/hjaelp/grupperum/for_grupperumsejere/inviter_medlemmer/ekstern-gaest/Sider/gaest_bekraeft.html';
- }
-
- //if (isInIFrame == false) {
- // document.getElementById("ctl00_m_g_03b90207_bcff_4c61_b77c_3d7e4dc50692").style.display = 'block';
- //}
-
- //else {jQuery("#MSOZoneCell_WebPartWPQ3").css("display","block");}
- //else {jQuery("#ctl00_m_g_03b90207_bcff_4c61_b77c_3d7e4dc50692 iframe").css("display","block");}
- //else {document.getElementById("ctl00_m_g_03b90207_bcff_4c61_b77c_3d7e4dc50692").style.display = 'block';}
- </script>