Sorry, Steen .... jeg har ikke været på E i laaang tid :)
Hmmmm .... det er da noget skidt. Der er ikke noget, der kan give 'klokkerne' lange og uskønne dimensioner, som den slags fokus-problemer .... jeg _har_ været der :o|
Nu ved jeg ikke helt, hvordan OWA-koden ser ud, men man kunne evt. snyde lidt ved at lave en MXL-http-request:
<script language="JScript">
var sURL = "
http://www.google.com"var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")
oXMLHTTP.Open("GET",sURL,false);
oXMLHTTP.Send();
document.write(oXMLHTTP.ResponseText);
</script>
Her har du hele Google's side liggende i 'oXMLHTTP.ResponseText'. Man kunne jo så derefter lave noget RegExp-replace, der tilføjer noget 'sæt-fokus-på-parent-siden' i en evt. onload-handler i body-tag'et.
1. Er der allerede en onload-handler med en funktione, kunne man jo stoppe det ind efter funktionen - altså to funktioner, adskilt af semikolon.
2. Ligger der en onload-handler i en remote-JS fil, kan man indskrive et JS lige før '</body>'. Det skal være med en funktion, der trigges med en kort timeout.
3. Er der ikke nogen onload-handler, er der ingen probs ... du laver blot en.
Hermed undgår du nok ikke, iframe'en stjæler fokus et kort øjeblik - men det bliver lagt tilbage på hoved-siden igen.
Måske, man endda kunne lægge fokus tilbage til det rette form-element (hvis et sådan har fokus, når fokus 'stjæles'). Du kan i IE spørge, hvilket element, der er aktivt (har fokus) med 'document.activeElement'.
Prøv evt. - hvis du ikke kender denne property - at lege med en simpel side med en form og dette lille script:
<script>
function tellMe() {
alert(document.activeElement.id);
}
window.onload("tellMe()", 2000);
</script>
Når siden loader, klikker du i et af formens felter og venter (disse skal naturligvis have hver deres id).
Jeg har ikke lige tid til at lave færdige eksempler, men håber, det har givet noget input at arbejde videre med ... alternativt, at du fik nogle ideer, du kan bruge til at løse noget andet - en anden gang :)
/mvh