iframe und Umleitung

gio

Mitglied
Hallo,

über das Nachladen von Framesets konnte ich in diesem Forum bereits einiges finden was mir weitergeholfen hat.

Da mein ursprüngliches Problem jedoch etwas von den beschriebenen Lösungsansätzen abweicht, bin ich mir nun nicht ganz sicher ob die abgeänderte Form unter allen Browsern bzw. Betriebssystemen funktionieren wird.

Wer hat entsprechende Erfahrung mit Javascript und kann das angehängte Script bitte daraufhin prüfen ?

Ich verwende auf 2 Hauptseiten (index_1024.htm bzw. index_800.htm) jeweils einen iframe-Tag, in welchem die einzelnen Menüunterseiten aufgerufen werden. Wird nun über Suchmaschinen eine dieser Unterseite gefunden, soll eine Indexseite geladen werden (index.htm), welche nach einer Scriptabfrage auf die entsprechende Hauptseite verweist (je nach Bildschirmauflösung).

Ist mit dem nachfolgenden Script sichergestellt, dass nur dann die index.htm aufgerufen wird, wenn man eine entsprechende Unterseite ohne das dazu gehörende Hauptfenster startet ?
Code:
<script language="JavaScript">
    <!--
    function iFrame() {
    if (top.frames.length==0) {
    Address="index.htm";
    if(document.images) top.location.replace(Address);
    else top.location.href=Address;
    }
    }
    //-->
    </script>

</head>

<body onload="iFrame();" bgcolor="#000000">
In der "index.htm" bzw. auf den 2 "Hauptseiten" habe ich keine weiteren Ergänzungen durchgeführt.

Da ich nicht auf direktem Weg das ursprüngliche Frameset nachladen möchte, bin ich mir nicht sicher ob die oben aufgeführte Lösung auch für mich die Richtige ist.

Selbstverständlich bin ich mir über den Nachteil dieser Lösung bewusst, möchte den Kompromiss aber dennoch eingehen.

Besten Dank für euere Hilfe !
 
Zuletzt bearbeitet:
Ich weiss zwar nicht, wozu das mit dem document.images gut sein soll, aber im Prinzip sollte es reichen, wenn du schreibst:
Code:
<script language="JavaScript">
<!--
if(self==top){location.replace('index.htm');}
//-->
</script>
 
Hallo fatalus,

das Script funktioniert prima !

Ich habe mir schon gedacht, unnötigen Code im Script integriert zu haben, deshalb fragte ich an ;)

Viele Grüße und besten Dank !
 
Ähnliches Problem

Hallo, habe ein ähnliches Problem und zwar möchte ich ein Fenster automatisch schliessen lassen, welches folgendermaßen aufgebaut ist:
Ich habe eine login_index.php, welches mit Links ein Iframe navigiert. In diesem Iframe wird auch meine Logout geöffnet, mit folgendem Code:
Code:
<?php 
session_start(); 
if(!session_is_registered('username') || $_SESSION['username'] == "") { 
  header("location:../einloggen.php"); 
  die; 
} 

require ("open.inc.php");
?>
<html>
<head>
<title>Login-Bereich</title>
<?php

<script language="JavaScript">
<!--
function close_window()
{
 parent.close();
}
//-->
</script>

<script type="text/javascript"> 
<!-- 
var Info = window.open("login_index.php, "Zweitfenster"); 
//--> 
</script> 


</head>
<body onload="setTimeout('Info.close()', 2000);" link="#000000" vlink="#000000" alink="#FF0000" background="..//Bilder/hg_iframe.gif">
<table width=100% border="0" align="center" valign="center" cellspacing="0">
<tr><td align="justify"><font face="Arial" size="2">
	
	<table width=84% height="400" border="0" align="CENTER" valign="CENTER">
		
	<td>
		<table width=100% height=100% border="0" align="Left" valign="Top">
			<tr><td><center>
			<font color="000000" size="2">
	
			<?php 
			$username = $_SESSION['username']; 
			if(session_destroy()) { 
			  echo '<p align="center"><br><br>Sie haben sich erfolgreicht abgemeldet.<br><br>Sie werden zum Login weitergeleitet.<br><br>Sollte dieses nicht geschehen, drücken Sie bitte<a href=\'javascript:parent.close()\'> hier !</a></p>';
			}else{ 
			  echo '<p align="center">Beim Abmelden trat leider ein Fehler auf!<br><br>Bitte schliessen Sie Ihr Browserfenster.'; 
			} 
			
			if($reload!=nein)
			{ 
			//echo("<onload=\"setTimeout(parent.close, 3000)\">");  
			}
			
			?>
			
			</center>
			</td></tr>
		</table>
	</td>
		
	</table>
	</font>
	
</td></tr>
</table>
</body>
</html>

Leider funktioniert das nicht, könnt ihr mir bitte helfen? Danke!
 

Neue Beiträge

Zurück