Archivlink: javarea.de Forum > JavaScript > Frame nachladen funktioniert nicht ganz
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Frame nachladen funktioniert nicht ganz

Pages: [1]

geschrieben von tetchi am 21.04.2006 - 11:14
Hallo allezusammen,
ich habe mir jetzt zich Beiträge zu diesem Thema durchgelesen. Immer wieder umgebaut und ausprobiert. Habe nun den ensprechenden Code in meine Seite übernommen.
Ich möchte gern das eine einzelne Seite (Frame) die von einer Suchmaschine gefunden wurde innerhalb meine Frameset angezeigt wird. So wie ich es bisher hinbekommen habe wird meine index.htm mit der Startseite (Framename:start) geladen aber nicht darin die von der Suchmaschine angegebene Seit darin angezeigt.

Hier der Link des Frames mit Weiterleitung zur index.htm http://www.glts-cotech.de/service.htm

Der Frame in den die Seite geladen werden soll ist "start" ist ein mainFrame

Mein Code in dem Frameset ist momentan so:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
<script language="javascript"> 
function checkFrame() {
	var URL=location.search;
if(URL) 
/* daten = Framename in der die Seite geladen werden soll */
  frames.start.location.href=URL.substring(1,URL.length);
 }
/* aus Frame befreien */
if (self != top)  { 		
 	parent.location.href=self.location.href; 
} 
//-->
</SCRIPT>
.
.
<body onload="checkFrame()">



Der Name des Frames der reingeladen werden soll ist "service.htm"

Mein Code in dem Frame ist momentan so:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
<script type="text/javascript" language="JavaScript">
function checkFrame() {
if(!parent.start) 			/* daten = Framename in der die Seite geladen werden soll */
location.href="http://www.glts-cotech.de/index.htm?" + location.pathname + location.search;
}
</script>
.
.
<body onload="checkFrame()">


Wo muß ich jetzt noch etwas ergänzen?
Bitte helft mir!

geschrieben von weisnix am 23.04.2006 - 13:53
Hallo,

als erstes würde ich das Frame umbenennen. „Start“ ist ein schlecht gewähltes Wort, da JavaScript es selbes als Funktionsname versteht. Da muss es einfach Ärger geben.

start ersetzen durch Hauptframe, mainFrame, alles nur kein reserviertes Wort.

Gruß

geschrieben von tetchi am 24.04.2006 - 08:53
Hallo,

ich habe jetzt start durch hauptframe ersetzt. Es hat sich in der Anzeige jedoch noch nichts geändert.

Wo fehlt da noch etwas?

geschrieben von René am 24.04.2006 - 09:12
Hallo tetchi,

du hast zwei onload in der Seite wo du den Link zu gepostet hast.

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
<script language="JavaScript" type="text/javascript">
<!-- <--- Fehlt im Code
function top_image()
{
......
}

onload = top_image;
//-->
</script>

......

<body onload="checkFrame()">


Du hast jetzt zwei Möglichkeiten

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
<script language="JavaScript" type="text/javascript">
<!-- <--- Fehlt im Code
function top_image()
{
......
}
//-->
</script>

......

<body onload="checkFrame(); top_image();">


HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
<script language="JavaScript" type="text/javascript">
<!-- <--- Fehlt im Code
function top_image()
{
......
}

onload = function()
{
	checkFrame();
	top_image();
}
//-->
</script>
......

<body>

geschrieben von Micha am 24.04.2006 - 09:23
Guten Morgen,

HTML-Quelltext
1: 
<!-- <--- Fehlt im Code


kann auch eigentlich raus (,natürlich vollständig mit dem schließenden: //--> ).

Oder optimiert hier noch einer für den IE2?

Schöne Grüße Micha

geschrieben von René am 24.04.2006 - 09:29
Zitat
 Original geschrieben von derletztekick am 24.04.2006 - 09:23

Oder optimiert hier noch einer für den IE2?

Ich schreibe es immer rein.

Entweder <!-- ..... //--> oder für XHTML wenn nicht IE <![CDATA[ ..... ]]>


geschrieben von tetchi am 24.04.2006 - 10:01
Ich habe jetzt beide Varianten von Rene ausprobiert, doch geändert hat sich nichts. Der Code in index.htm ist wohl richtig?

Wie meinst DU das Micha mit ...
Zitat
 html-code:
1:
<!-- <--- Fehlt im Code




kann auch eigentlich raus (,natürlich vollständig mit dem schließenden: //--> ).



Soll der komplette Script raus? Dann geht mir ja mein "Drag Drop Tooltip" verlohren.

geschrieben von René am 24.04.2006 - 10:47
nein du hast am ende vom Script-Tag //--> stehen aber am Anfang das <!-- vergessen.

geschrieben von René am 24.04.2006 - 11:01
Blauen Text kannst du nach Lust und Laune ändern, aber dann an allen blauen Stellen gleich! Der rote Text ist durch den Frame-Namen zu ersetzen in dem nachher die jeweilige Seite nachgeladen werden soll.

in die Frameset-Seite (index.htm)
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
<script type="text/javascript">
<!--
if (self != top)
	top.location.replace(self.location);

/**/

var geladen = 'tetchi';

function checkFrame()
{
	if (location.search)
	{
		var seite = location.search.substr(1);
		mainFrame.location.replace(seite);
	}
}

onload = checkFrame;
//-->
</script>


in alle Seiten die im mainFrame geladen werden sollen
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
<script type="text/javascript">
<!--
if (top.geladen != 'tetchi')
	top.location.replace('./index.htm?' + location.pathname + location.search);
//-->
</script>


das was du jetzt in den Seiten für das Frame nachladen hast aber alles aus den Seiten löschen bzw. durch das ersetzen.

geschrieben von tetchi am 24.04.2006 - 11:21
Rene... ich habe Deinen Vorschlag jetzt erst einmal in der Index.htm und in der service.htm umgesetzt. Es wird immer noch in den mainframe der Inhalt des hautframes geladen und wenn ich in der Navigation die Seite Service aufrufe läd es nicht mehr den Inhalt von Service sondern den Inhalt des hauptframe.

Im Bodytag von index und hauptframe habe ich alles rausgenommen. Da sollte wohl nichts rein?

Den blauen Text tetchi habe ich mit haupt ersetzt.

Die service.htm (Frame der reingeladen werden soll) muß wohl im Script nicht erwähnt werden?

geschrieben von René am 24.04.2006 - 13:07
Hallo tetchi,

in meinem letzten Baitrag ist roter Text das bitte bei dir ändern dann gehts auch wie es soll.

geschrieben von tetchi am 24.04.2006 - 14:00
Geht immer noch nicht!
Ich habe es jetzt so ....

Frameset
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
<script language="JavaScript" type="text/javascript">
<!--
if (self != top)
	top.location.replace(self.location);

/**/

var geladen = 'haupt';

function checkFrame()
{
	if (location.search)
	{
		var seite = location.search.substr(1);
		mainFrame.location.replace(seite);
	}
}
//-->
</script>


Frame
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
<script language="JavaScript" type="text/javascript">
<!--
if (top.geladen != 'haupt')
	top.location.replace('./index.htm?' + location.pathname + location.search);
//-->
</script>

geschrieben von René am 24.04.2006 - 16:23
Schau nochmal oben in meinen Code --> dunkelroter Text.

geschrieben von tetchi am 24.04.2006 - 16:32
Danke Rene,

jetzt funktioniert es so wie ich es wollte.

Du hast mir sehr geholfen.


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.