PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei Änderung von Frameinhalten mit JavaScript



Gorn
06-02-2003, 07:14
Ok, ich habe drei Frames

1. menu
2. kopf2
3. main

Hier mein script:

<script type="text/javascript">
<!--
function dreiframes(URI1,F1,URI2,F2,URI3,F3) {
Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame2=eval("parent."+F3);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
Frame2.location.href = URI3;
}
//-->
</script>

und hier mein link:

<a href="javascript:dreiframes('../kopf2/kopfgelb.html','kopf2','menugelb.html','menu','../test.html','main')"><font size="3"><strong>Protektorin</strong></font></a>

Das Problem ist, dass das Script nicht den Frame änder in dem das Script sich selbst befindet... d.h. in menu

Wie bekomme ich es hin, das er mir auch den frame menu mit dem link ändert?

GoRn

Jana
07-02-2003, 12:21
So ganz hab ich wahrscheinlich nicht verstanden, was du willst, aber ich denke mal es soll so etwas in der Art herauskommen.
Den Refresh kannst du wie ich mit
window.cbe.addEventListener("resize", init, false);
abfangen oder durch den Aufruf der Funktion init() mit einem Link.
Ich mag Frames nicht. Da finden die Suchmaschinen nichts mehr.



<html><head>
<title>Div-Test</title>
<style>
A:link {color : black; text-decoration: none; font-size : 9pt;}
A:visited {color : black; text-decoration: none; font-size : 9pt;}
A:hover {color : black; text-decoration: none; font-size : 9pt;}
A:active {color : black; text-decoration: none; font-size : 9pt;}

.a {position:absolute; visibility:hidden;
width:50; height:50;
background:transparent; layer-background-color:transparent;}

</style>

<script type='text/javascript' src='cbe/cbe_core.js'></script>
<script type='text/javascript' src='cbe/cbe_clip.js'></script>
<script type='text/javascript' src='cbe/cbe_debug.js'></script>
<script type='text/javascript' src='cbe/cbe_slide.js'></script>
<script type='text/javascript' src='cbe/cbe_slide2.js'></script>
<script type='text/javascript' src='cbe/cbe_event.js'></script>

<script type='text/javascript'>
<!--
var a1,a2,a3;

function windowOnload() {init()};

function init(){

var st = document.cbe.scrollTop();
window.cbe.addEventListener("resize", init, false);
window.cbe.addEventListener('scroll', scrollListener);

with (a1 = cbeGetElementById('a1').cbe) {
background("#C00000");
resizeTo(document.cbe.width(),110);
moveTo(0,0);
show();
}

with (a2 = cbeGetElementById('a2').cbe) {
background("#ED6A1B");
resizeTo(200,document.cbe.height()-110);
moveTo(10,120+st);
show();
}

with (a3 = cbeGetElementById('a3').cbe) {
background("#EDD71B");
resizeTo(document.cbe.width()-200,document.cbe.height()-110);
moveTo(210,120);
show();
}

function scrollListener(e) {
var st = document.cbe.scrollTop();
a2.slideTo(10, 120 + st,800);

}

}
//-->
</script>
</head>

<body bgcolor="#808080">
<div id="a1" class="a">Hier steht der Kopf</div>
<div id="a2" class="a">Hier steht das Menü</div>
<div id="a3" class="a">Hier steht der eigentliche Text</div>

</div>
</body>
</html>


Die JS-Dateien bekommst du bei http://www.cross-browser.com im Download

Gorn
07-02-2003, 16:46
Mit div ist auch ne coole idee.. doch der Kunde will selber ändern und das rallt der dann nicht :-) ich habe extra untervezeichnisse mit den daten angelegt die er ändern kann.

So z.B. alle Seite die im main laufen - so kann er die inhalte einfach ändern.

Und meinen Fehler habe ich jetzt auch :-)

"Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame2=eval("parent."+F3);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
Frame2.location.href = URI3;
} "

da muss nicht vier mal frame2 stehen :-)

THX

GoRn

anda_skoa
07-02-2003, 18:26
Ich hab mal den Betreff geändert.
Mit Java hatte es ja nichts zu tun.

Ciao,
_

Gorn
08-02-2003, 08:18
wieso nicht mit java...? das ist ein javascript mit dem die frames geändert werden....

macht aber nichts.. der fehler lag auch an mir.. war einfach zu blind.

GoRn

Jana
08-02-2003, 08:43
Das mit den Boxen ist auch ganz leicht für Neulinge zu bedienen.
Steck einfach alles von


<html><head>
<title>Div-Test</title>
<style>
A:link {color : black; text-decoration: none; font-size : 9pt;}
bis
<body bgcolor="#808080">
<div id="a1" class="a">Hier steht der Kopf</div>
<div id="a2" class="a">Hier steht das Menü
<a href ="graph.php">Graph</a> <br>
<a href = "circle.php">Imagick</a> <br>
<a href ="image.php">Image Test</a> <br>
<a href ="index.php">Zeitung Test</a> <br>

</div>

in einen header.php bzw eine style.css

Anschließend sieht die Seite graph.php etc. echt einfach aus.
Das ist auch für einen Kunden zu verändern.


<?php require ("header.php"); ?>

<div id="a3" class="a">Hier steht das der eigentliche Text</div>
</body>
</html>


Aber ich weiß du hast das Problem schon gelöst.

anda_skoa
08-02-2003, 16:30
Original geschrieben von Gorn
wieso nicht mit java...? das ist ein javascript mit dem die frames geändert werden....


Wie du ja selbst sagt: JavaScript.

http://tsantes.dns2go.com/JavaJavaScript.html

Ciao,
_

Gorn
08-02-2003, 16:31
ok ok... ich gebe zu es ist nicht java :-)

GoRn