|
| window.opener og framesets Fra : Peter Westh |
Dato : 27-05-03 12:55 |
|
Jeg søger en løsning på følgende problem:
Jeg har en login-funktion, med en formualr der åbnes i et pop-up
vindue. Når formularen er submittet, reloades den side, pop-up vinduet
åbnedes fra, hvorefter pop-up vinduet lukker sig selv, sådan her:
SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
var sLocation=window.opener.document.location;
/*
var iOpenerHistory=window.opener.history;
var iOpenerHistoryL=iOpenerHistory.length;
if (iOpenerHistoryL<1) {
window.opener.document.location.replace('http:\/\/'+document.location.hostname)
//document.location='http:\/\/'+document.location.hostname
} else {
window.opener.history.back();
}
*/
window.opener.document.location.replace(sLocation);
window.opener.focus();
window.close();
</SCRIPT>
Det virker fint. Mit problem er, at jeg også skal kunne kalde pop-up
vinduet fra en frame i et frameset. Som det er nu, er det kun framen
der reloades. Men jeg vil gerne have, at hele framesettet reloades.
Kan det lade sig gøre?
Mit frameset er ganske simpelt, med en topframe med navigation, og en
content-frame.
Med venlig hilsen
Peter Westh
| |
Peter Theill (29-05-2003)
| Kommentar Fra : Peter Theill |
Dato : 29-05-03 14:17 |
|
Peter Westh wrote:
> Det virker fint. Mit problem er, at jeg også skal kunne kalde pop-up
> vinduet fra en frame i et frameset. Som det er nu, er det kun framen
> der reloades. Men jeg vil gerne have, at hele framesettet reloades.
Det kan du fx goere ved at udskifte:
window.opener.document.location.replace(sLocation);
med
window.opener.top.document.location.replace('frame.html#' + sLocation);
Fra din 'frame.html' kan du saa laese vaerdien af 'sLocation' via
"location.hash" og derved kommer tilbage til den rigtige side i dit
frameset.
Mvh,
Peter Theill
http://www.theill.com/
| |
Peter Westh (02-06-2003)
| Kommentar Fra : Peter Westh |
Dato : 02-06-03 12:42 |
|
Peter Theill <user@example.net> wrote in message news:<3ed6085b$0$13159$edfadb0f@dread15.news.tele.dk>...
> Peter Westh wrote:
>
> > Det virker fint. Mit problem er, at jeg også skal kunne kalde pop-up
> > vinduet fra en frame i et frameset. Som det er nu, er det kun framen
> > der reloades. Men jeg vil gerne have, at hele framesettet reloades.
>
> Det kan du fx goere ved at udskifte:
>
> window.opener.document.location.replace(sLocation);
>
> med
>
> window.opener.top.document.location.replace('frame.html#' + sLocation);
>
> Fra din 'frame.html' kan du saa laese vaerdien af 'sLocation' via
> "location.hash" og derved kommer tilbage til den rigtige side i dit
> frameset.
Tak,
Det var "top" jeg ledte efter. Jeg har gjort det endnu nemmere end
det, du foreslår, om simpelthen skrevet:
var sLocation=window.opener.top.document.location;
window.opener.top.document.location.replace(sLocation);
window.opener.top.focus();
window.close();
Det virker så nemlig også, når siden IKKE kaldes fra et frameset.
MVH
Peter Westh
| |
|
|