webForumDet fria alternativet

Stänga 2 fönster varav 1 i frame

JavaScript

4 svar · 251 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

Halloj!
Jag har ett frameset med 3 frames ifrån ett av dessa ramar öppnar jag ett nytt fönster.
När jag ska logga ut från detta fönster vill jag att båda fönstren ska stängas.

Frameset:

<frameset rows="*,130" border="0" frameborder="0" framespacing="0">
  <frameset cols="265,777" border="0" frameborder="0" framespacing="0">
    <frame src="menu2.asp" name="menu" scrolling="auto">
    <frameset cols="520,262">
      <frame src="first.asp" name="butikmain" scrolling="auto">
      <frame src="dockat.asp" name="news" scrolling="auto">
    </frameset>
  </frameset>
  <frame src="2.asp" name="basket" scrolling="auto">
</frameset>

Order-knapp som öppnar nytt fönster

<form ACTION="kassa.asp" ACTION="POST" target="_blank">
<input type="submit" value="Lägg order">
</form>

Kassa skickar beställning...

<form method="post" action="kassa2.asp" id=form1 name=form1>
<input name=submit1 type="submit" value="Skicka beställning">
</form>

Kassa2 vid urloggning skall fönstren stängas

Beställningen skickad!

<script type="text/javascript">
<!--
function reloadOpener2(){
	window.close();
	window.opener.location.href='closewin.asp';
}
//-->
</script>

<input type="button" onClick="reloadOpener2();return false;" value="Logga Ut!">

closewin.asp bara för att kunna stänga frameset-fönstret

<script>
if(top.location !=location) top.location.href = location.href;
window.close();
</script>

Är nog inget vidare fin lösning, men funkar i IE 6.0.2800.1106.xpsp2.030422-1633 problemet är att den INTE funkar i IE 6.0.2800.1106.xpsp1.020828-1920 hur kan man göra detta på ett korrekt sätt, så det funkar från typ IE 5.5 och uppåt?

Kan det vara för att jag öppnar kassa-fönstret med Target istf window.open?

Medlem sedan dec. 20025 483 inlägg
#2

Du kan inte stänga ett fönster på detta sätt som inte öppnats med t.ex. window.open(). Men att här använda den metoden istället för target="_blank" kommer inte att fungera (om inte själva ramsidan också öppnats med window.open()).

Att det fungerar i sp2-versionen kanske inte är så konstigt eftersom detta "fel" med stor sannolikhet åtgärdats.

:)

Medlem sedan mars 20011 346 inlägg
#3

Hur ska man göra på ett bättre sätt då, så jag kan stänga mina 2 fönster?

Medlem sedan dec. 20025 483 inlägg
#4

Frågan är hur du öppnar fönstret med <frameset>:et? Öppnas det med window.open() kommer din kod att fungera (för de som uppdaterat till sp2).

:)

Medlem sedan mars 20011 346 inlägg
#5

Det öppnas med Target="_blank" :\

268 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)