Avatar billede clausfod Nybegynder
25. juli 2005 - 15:48 Der er 6 kommentarer

location.href IE 5.0

Se følgende 2 html filer:

FIL 1:
<html>
<head>
<meta http-equiv="imagetoolbar" content="no"/>
<base target="_self"><!-- must bee included, otherwise it open a new window //-->
<title>Opener</title>
<script language="JavaScript" type="text/javascript">

function openWindow(mypage, myname, width, height) {
    if (window.showModalDialog) {
        var winSettings = "center:yes;status:no;resizable:no;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px";
        var returnArgs = window.showModalDialog(mypage, window, winSettings);
        if (returnArgs != null) {
            if (returnArgs == "reload") {
                location.reload(true);
            } else {
                  location.href = returnArgs;
            }
        }
    }
    else {
        win = window.open(mypage, myname, "toolbar=no,location=no,scrollbars=auto,width="+width+",height="+height+"");
    }
}
</script>
</head>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
    <table align="center" cellpadding="0" cellspacing="0" border="0" width="100%">
            <tr>
                <td><a href="#" onClick="openWindow('closer.htm','language',300,400)">klik her</a></span></td>
            </tr>
    </table>
</form>
</body>
</html>

FIL 2:
<html>
<head>
<meta http-equiv="imagetoolbar" content="no"/>
<title>Tester</title>
<base target="_self">
<script language="JavaScript">
<!--
var langAction='http://www.dr.dk';
function okButton() {
    parent.returnValue = langAction;
    window.close();
}

//-->
</script>
</head>
<body bgcolor="#004984" leftMargin="0" topMargin="0" marginheight="0" marginwidth="0">
<table align="center" cellpadding="0" cellspacing="0" border="0" width="100%">
            <tr>
                <td><a href="#" onClick="okButton();">Close</a></span></td>
            </tr>
    </table>
</body>
</html>

Kør fil 1 og klik linket - herefter loades fil 2 (husk at navngive den korrekt) og klik på close linket.

Hvordan kan det være at location.href ikke virker i IE 5.0 ?
Avatar billede roenving Novice
25. juli 2005 - 16:02 #1
location.href virker ganske udmærket i IE5 !-)

-- men det virker mystisk, at du sender window-objektet til din dialog-boks som argument, så det kan være der, 5'eren kløjs i det ...
Avatar billede olebole Juniormester
26. juli 2005 - 02:09 #2
<ole>

roenving >> Nej, det burde ikke volde problemer ... det er standard-procedure i en showModalDialog for at få en reference til åbneren  :)

clausfod >> Hvad alert'es, hvis du skriver:

if (returnArgs != null) {
  alert(returnArgs);
  ... osv, osv ...

/mvh
</bole>
Avatar billede roenving Novice
26. juli 2005 - 02:12 #3
Jepz, men jeg lete efter mulige problemer, så alt skulle tages i betragtning ...
Avatar billede roenving Novice
26. juli 2005 - 02:12 #4
... ledte efter ...
Avatar billede olebole Juniormester
26. juli 2005 - 02:26 #5
Nu er en sådan modalSjover en lidt sær konstruktion, der både hører til åbnerens vindue - og samtidigt er sit eget vindue. Lidt à la en iframe.

Derfor kradser linjen:
    parent.returnValue = langAction;
- lidt i mine hornhinder. At bruge 'parent' er i bedste fald en misforståelse, browseren kan tørre op - men det er zq meget sandsynligt, der er nogen, som ikke kan og i stedet hiver fat i åbner-vinduet  :)

Den korrekte adressering er i hvert fald:
    window.returnValue = langAction;
Avatar billede clausfod Nybegynder
26. juli 2005 - 09:54 #6
Tak for svarene :-)

Hvis jeg alerter får jeg 'http://www.dr.dk' uanset om jeg bruger parent.returnValue eller window.returnValue

Har i prøvet at kopiere de to filer ud lokalt og køre dem i IE5 ? I givet fald spiller det hos jer ?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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