Probleme mit Frame aktualisierung / Opener und Window
David Di Donato
- javascript
0 Utz
hallo zusammen
ich hoffe ihr könnt mir helfen. ich sitze wirklich in der s....
folgendes problem habe ich:
[Datei example1.html]
<html>
<FRAMESET COLS="150,*" id="a">
<FRAME NAME="menu_frm" SRC="menu.html">
<FRAME NAME="index_frm" SRC="index.html">
</FRAMESET>
</html>
[Datei menu.html]
<html>
<body>
<script language="JavaScript">
<!--
function createWindow()
{
var win_URL = "f.html";
var win_Name = "_New";
var win_Features = "width=400,height=200,top=30,left=30,resizable=no,scrollbars=yes,toolbar=no,location=no,menubar=no,status=no";
var test_Win = window.open(win_URL, win_Name, win_Features);
test_Win.focus();
}
//-->
</script>
<p>
<a href="#" onClick="javascript:createWindow();">Open Window</a>
</p>
</body>
</html>
[Datei index.html]
<html>
<body>
<h1>index.html</h1>
</body>
</html>
[Datei f.html]
<html>
<frameset rows="*" cols="*" bordercolor="#d3d3d3">
<frame name="" src="subwindow.html">
</frameset>
</html>
[Datei subwindow.html]
<html>
<body>
<script language="JavaScript">
<!--
function loadParentFrame(url)
{
window.opener.parent.index_frm.location.href = url;
window.close();
}
//-->
</script>
<form>
<input type="button" name="button1" value="Load index2.html into Frame" onClick="javascript:loadParentFrame('index2.html');">
</form>
</body>
</html>
Hi David,
was passiert denn, wenn Du spaßeshalber mal subwindow.html in f.html umbenennst? Tritt das Problem dann immer noch auf?
Erklärung: das soweit ich sehen kann nutzlose Frameset f.html hat einen Opener. Das aus f.html heraus aufgerufene subwindow.html dagegen natürlich nicht, es wurde ja nicht per JS in ein neues Fenster geladen. Wenn Du also das Frameset einfach rausschmneißt und die Datei direkt lädst, ist Dein Opener da. Wenn das Frameset partout sein muss: pack Deine Funktion in das Frameset und rufe sie über parent.loadParentFrame('index2.html'); aus subwindow.html heraus auf.
Huh, das war jetzt verm. ziemlich verwirrend erklärt. Probier erst mal aus, ob's hilft.
Grüße,
Utz