Navigation verschwindet?

NetLook

Grünschnabel
Hallo!

Ich habe ein Frameset mit drei Reihen, oben die Navigation. Diese hat folgenden Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>

<body>
<a href="javascript: parent.DynFrameset(200);">200</a> |
<a href="javascript: parent.DynFrameset(300);">300</a> |
<a href="javascript: parent.DynFrameset(400);">400</a>
</body>
</html>

----------------------------------------------------------------------------------------------------------------


Die Seite welche die Funktion DynFrameset enthält:

var size = 150;
var b;
var seite = "disclaimer.html";

function DynFrameset(size){
alert(size);
size = size;


document.write("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/html4/frameset.dtd'>");
document.write("<html>");
document.write("<head>");
document.write("<script src='dynframeset.js' type='text/javascript'><\/script>");
document.write("<title>Test<\/title>");
document.write("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>");
document.write("<\/head>");
document.write("<frameset rows='"+size+",375,*' frameborder='yes' border='1' framespacing='1'>");
document.write("<frame src='test_nav_2.html' name='nav' scrolling='no' resize>");
document.write("<frame src='"+seite+"' name='content' scrolling='auto'>");
document.write("<frame src='bottom_en.html' name='bottom' scrolling='no' noresize>");
document.write("<\/frameset>");
document.write("<noframes>");
document.write("body");
document.write("\/body");
document.write("<\/noframes>");
document.write("<\/html>");

alert(size);
document.close();
}

----------------------------------------------------------------------------------------------------------------

Die Seite, die zuerst aufgerufen wird (index.html), enthält das gleiche Skript, somit wird beim Aufruf der Seite, das Frameset geschrieben. Das funktioniert auch.

Wird die Funktion zum ersten mal aufgerufen, funktioniert es soweit, der Quellcode wird neu geschrieben. Die Seite im mittleren und im unteren Frame wird angezeigt, aber die Navigation verschwindet?

Weis jemand eine Lösung?



Gruß
NetLook
 
Ich hab das Beispiel jetzt nicht nachgestellt, kann daher leider auch nicht sagen, wo die Navigation hin ist.

In Opera bspw.(oder war es Mozilla)...wirst du damit ohnehin arge Probleme haben, weil in dem Moment, wo du die erste write()-Anweisung ausgibst, alle existierenden Variablen(size,seite) verschwunden sind....du kannst im folgenden also nicht mehr drauf zugreifen.

So wie ich dass verstehe, möchtest du eine neue Seite in das mittlere Frame laden, und dabei die Grösse der Frames anpassen....
das geht auch bequemer....

in DOM-Browsern kannst du das rows-Attribut eines <frameset> ändern.
(aber Vorsicht, du solltest da statt dem asterisk mit % arbeiten, es gibt sonst unerfreuliche Ergebnisse)
Bsp.:
Code:
function DynFrameset(size)
{
if(document.getElementsByTagName)
    {
    document.getElementsByTagName('frameset')[0].rows=size+'375,100%';
    window.content.location='disclaimer.html';
    }
}
.....sollte den von dir gewünschten Effekt erzielen. (Die Seite in content könntest du optimalerweise über einen normalen Link wechseln....dann bleibt das Ganze auch mit deaktiviertem JS benutzbar)
 

Neue Beiträge

Zurück