• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

bestimmte HTML-Datei in Frameset laden

NiKarcher

New member
Meine Website verwendet Frames. Ich habe Michaels script verwendet um beim Aufruf einer HTML-Datei zu erkennen, ob sie auch im richtigen Frameset geladen ist, oder in einem fremden Frameset oder eigenen Fenster geladen wurde. In diesem Fall wird automatisch das Frameset geladen. Ich habe versucht, meine http://www.bigmart.de/index1.html (beinhaltet das frameset) so abzuändern, daß in das main-frame automatisch die html-Datei geladen wird, die die index1.html aufgerufen hat (http://www.bigmart.de/html_in_frame_laden2.html). Leider funktioniert das ganze nicht und ich sitze jetzt bereits 2 Tage an der Sache. Kann mir jemand weiterhelfen?
 
Hallo

ist doch kein Problem!

pass auf machs so:

das kommt in der "index.htm"

<script language="JavaScript">
<!--
var frameset_geladen = "okay";
if (self != top)
{
top.location.href=self.location.href;
}
//-->
</script>

und das kommt in allen anderen seiten:

<script language="JavaScript">
<!--
if (top.frameset_geladen != "okay")
top.location.href = "index.htm";
//-->
</script>

so das war alles,wenn du jetzt eine der anderen also nicht die index.htm anklickst,dann wird sofort die Index.htm geladen.


ciao,
Klaus...
 
falsch verstanden

Danke für die schnelle Antwort,
du hast mich jedoch falsch verstanden. So wie du es mir gerade erklärt hast hatte ich es vorher auch. Leider wird so jedoch das Standardframeset geladen. In das frame main soll aber die Datei, die das frameset aufgerufen hat. Beispiel: ich rufe die Datei beispiel.html aus einem fremden frameset auf. Dein skript erkennt das und lädt automatisch mein frameset aus der index.html. In das frame main wird automatisch die Datei geladen, die im frameset hinter src= steht. Bei mir ist dies home.html. Ich will im frame main jedoch die Datei beispiel.html haben.
 
hi,

Sorry ich hatte dich vieleicht doch richtig verstanden,da du ja MM´s Script gemeint hast.Dann lag es wohjl an deiner Dokumentation.
Na dann binde doch das Script was jetzt in der index.html stehen soll in deiner main.html ein und ändere es ab.

ciao,
Klaus...
 
schon wieder falsch

Vielen Dank, daß du dir so viel Mühe gibst,
aber ich habe leider keine main.html.


Nochmal ganz ausführlich:

hier mein frameset aus der "index.html":

<frameset rows="100,*" border="0" framespacing="0" frameborder="NO">
<frameset cols="190,472,*" border="0" framespacing="0" frameborder="NO">
<frame src="logo.html" name="logo" scrolling="NO" noresize>
<frame src="fr_banner/fr_banner.html" name="banner1" scrolling="NO" noresize>
<frame src="fr_banner/fr_banner2.html" name="banner2" scrolling="NO" noresize>
</frameset>
<frame src="home.html" name="main" noresize>
</frameset>

Wie du siehst habe ich ein frame namens "main".
In diesem frame befindet sich die Datei home.html.
Meine website besteht aus zirka 40 weiteren HTML-Dateien. Alle diese Dateien werden in diesem Frame geladen. Wenn nun jemand einen Link auf eine dieser 40 Dateien setzt und diese versucht in seinem eigenen Frame oder in einem eigenen Fenster zu laden hätte ich gerne, daß:

1. Meine index.html geladen wird
2. Im frame "main", welches durch die index.html erzeugt wird, die jeweils direkt aufgerufene HTML-Datei, diejenige, welche mittels eingebautem Skript automatisch meine index.html geladen hat, angezeigt wird.
 
Dann wollen wir diese Diskussion mal zu einem Ende bringen ;)
Also: Du meinst so ne Funktion wie z.b. beim Aufruf von http://www.webaid.de/js/docs/forum.shtml , dass die richtige Seite im Inhaltsframe liegt, richtig?

Also, das is schwierig zu machen.
Schau mal in meine index.shtml, da findest Du sowas wie das hier:
<script language="javascript">
//Dieses Skript stammt von Michael Mailer´s JavaScripts
//URL: http://www.webaid.de/js -- eMail: mm@webaid.de
//Bitte entfernen Sie diesen Vermerk nicht !
if (self != top)
{
top.location.href=self.location.href;
}

var frameset_geladen = "okay";
function SeiteLaden() {
if(self.location.search.length > 0) {
var Search_Laenge = self.location.search.length;
var info_url = self.location.search.substring(1,Search_Laenge);
self.pageFrame.location.href = "docs/"+info_url;
self.bottom.location.href = "bottom3.shtml"; }
}
</script>

Das musst Du genau an deine Umgebung anpassen.
also self.pageFrame..., "docs/" ist der Pfad zu den Dokumenten. Die Zeile self.bottom kannst Du rauslassen.
Dieses JavaScript muss in deine index.html, bzw. die Datei, in der Du die Frames definierst..
-------
Und so muss dein Frameset aussehen:
<frameset rows="100,*" border="0" framespacing="0" frameborder="NO" onLoad="SeiteLaden(); return true;">
<frameset cols="190,472,*" border="0" framespacing="0" frameborder="NO">
<frame src="logo.html" name="logo" scrolling="NO" noresize>
<frame src="fr_banner/fr_banner.html" name="banner1" scrolling="NO" noresize>
<frame src="fr_banner/fr_banner2.html" name="banner2" scrolling="NO" noresize>
</frameset>
<frame src="home.html" name="main" noresize>
</frameset>
-------
Dann muss in jede Seite deines Website folgender Code:
<script language="javascript">
//Dieses Skript stammt von Michael Mailer´s JavaScripts
//URL: http://www.webaid.de/js -- eMail: mm@webaid.de
//Bitte entfernen Sie diesen Vermerk nicht !
var Dateien = "index.html?SEITENNAME.shtml";

if (top.frameset_geladen + "" != "okay"){
if(document.images)
top.location.replace(Dateien);
else
top.location.href = Dateien ;
}
</script>


Grüsse,
Michael
 
Genau das meinte ich.

Jetzt habt ihr mich verstanden.

Auf deiner Seite scheint es ja zu funktionieren.
Ich hatte mich schon die ganze Zeit gefragt, was dieses document.images in deinen html-files bewirkt.
Du könntest dieses Script in deine Sammlung aufnehmen.

Vielen Dank für die schnelle Hilfe.

Nicolai, http://www.bigmart.de


PS: schöne JavaScript-Sammlung - ich werde deine Seite weiterempfehlen.
 
Hallo

na das erklärt ja alles,hättest du das gleich so schön reingepostet dann wäre ich sicherlich auch darauf gekommen
icon12.gif

aber zum Glück gibt es Michael,der hats verstanden.
icon3.gif

Ich bin wohl zuviel im Netz das mir das nicht in den Kopf ging.Aber dennoch freue ich mich das du das Script hast was du wolltest.


ciao,
Klaus...

[Edited by Klaus on 02-07-2000 at 00:35]
 
Zurück
Oben