RickardMedlem sedan maj 2001284 inlägg
Hej.
Jag har på min sida en iframe med en länk där en popup skickas upp.
I popupen ligger en form som skickar besökaren vidare till en sida som stänger ner popupen med hälp av body onunload..
följande kod altså.
<script language="JavaScript1.2">
function closeMe()
{
TimerID = setTimeout("closeNow()",10);
}
function closeNow()
{
self.close();
}
</script>
</head>
<body onLoad="closeMe();" onunload="opener.parent.location.reload();">
Nu är problemet, att den uppdaterar hela mainsidan istället för bara iframen..
finns det något sätt att smidigt via onunload kunna uppdatera enbart iframen?
går det att exempelvis buta ut "parent" mot iframens namn?
/Rickard
Peter SMedlem sedan dec. 20025 484 inlägg
Ta bort parent. Det är i och med att du specificerar denna egenskap som huvudfönstret uppdateras.
...onunload="window.opener.location.reload()">
:)
RickardMedlem sedan maj 2001284 inlägg
tackar.. humm....
Nu dök dock ett annat problem upp.
titta på https://www.jkdsweden.com å skriv något i gästboken.
när man skickat sitt inlägg till gästboken så uppdateras iframen rätt...
Men ska man fortsätta navigera sig runt på sidan med länkarna i menyn, så vill dom hoppa upp i helt nya fönster istället för att hamna i iframen..
Reloadar jag hela sidan så fungerar det dock normalt igen.
Någon som har en lösning på det?
Det funkade innan onUnload scriptet lades in, men med det så blir det helkonstigt...
RickardMedlem sedan maj 2001284 inlägg
Nu har jag försökt med ett otal olika lösningar.. en av dom vägrar att fungera totalt.
Jag får följande fel:
A runtime error has occured.
Do you wish to Debug?
Line: 5
Error: Object doesn't support this property or method.
Koden det gäller:
<html>
<head>
<script type="text/javascript">
<!--
function reloadOpener(){
window.opener.reload();
window.close();
}
//-->
</script>
</head>
<body>
<a href="#" onclick="reloadOpener();">Stäng</a> och uppdatera gästboken.
</body>
</html>
(jag tog med allt för att vara säker på att det inte är något annat som strular.)
Hoppas på hjälp.
/Rickard
RickardMedlem sedan maj 2001284 inlägg
Ok, jag hittade problemet själv.
Jag saknade .location...
men mitt problem består.
Efter att den har stängt popupen och uppdaterat min iframe, så messar den upp mina targets.
Länkarna skall gå till target "base" som iframen heter.
Finns även en <base target="base"> på index-sidan.
Men likförbaskat så overridear den mina targets av någon sjuk anledning.
Finns det någon som kan komma på varför?
Eller kanske ett smidigare sätt att få gästboken att uppdateras så fort någon har klickat på sumbitknappen.
Vad som helst så länge besökaren själv slipper uppdatera sidan för att se sitt inlägg, det skapar bara problem med att besökaren dubbelpostar istället i tron om att hans/hennes inlägg aldrig kom med.
RED:
Går det kanske att få onUnload att göra en document.location.href="index.php" med iframens namn (base) som target?
Isåfall hur?
RickardMedlem sedan maj 2001284 inlägg
Då ska jag ta och avsluta tråden.
Efter många timmar lyckades jag tillslut hitta felet, men inte där jag trodde.
Scriptet som användes för att öppna popupen var det som utgjorde felet.
<script>
function openPopup(sUrl, sHeight, sWidth,sResize){
remote = window.open("", "popup", "resizable="+sResize+",status=no,scrollbars=yes,width="+sWidth+",height="+sHeight);
remote.location.href = sUrl;
if (remote.opener == null) remote.opener = window;
remote.opener.name = "opener";
}
</script>
Finns det någon av er som kan förklara för mig vad det är i denna kod som ställer till med sådana problem som ovan beskrivet?
Jag har en känsla av att det är if satsen som är boven i dramat, men jag ser inga kopplingar till varför det skulle vara så.