Archivlink: javarea.de Forum > JavaScript > HTML Seiten OnClick in richtigen IFRAME laden
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > HTML Seiten OnClick in richtigen IFRAME laden

Pages: [1]

geschrieben von sobi am 20.06.2005 - 12:44
Hi. Ich entwickle meine Info Seite http://www.security-tipp.de neu. Es wird eine Tabellen Konstruktion, in der HTML Dokumente (Texte, Bilder, etc.) in einem IFRAME aufgerufen werden. Zu jedem Topic (Oberthema 1, Oberthema 2, ...pp) soll es eine solche Hauptseite mit eigenem IFRAME geben. So weit, so gut.

Meine Seiten sollen bei Google indiziert werden, wegen der Google Anzeige von gesuchten Inhalten. Das klappt auch alles. Bei Google werden natürlich auch die HTML (Unter-) Seiten, die eigentlich sonst in einem IFRAME laufen extra gelistet. Klickt ein User drauf, sieht er die HTML Seite ohne Hauptseite. Das soll nicht sein.

Ich möchte also, dass bei Anklicken eines HTML Dokumentes dieses gleich in den IFRAME der richtigen Hauptseite geladen und angezeigt wird. Also so::


Klick auf 1.HTML -> Rufe TOPIC_A.html auf und zeige 1.HTML im iframe an

Klick auf 2.HTML -> Rufe TOPIC_A.html auf und zeige 2.HTML im iframe an

Klick auf 3.HTML -> Rufe TOPIC_B.html auf und zeige 3.HTML im iframe an

Klick auf 4.HTML -> Rufe TOPIC_B.html auf und zeige 4.HTML im iframe an, usw.

Klick auf TOPIC_X.html -> Rufe TOPIC_X.html mit vordefinierter Seite im iFrame auf



Ich hab so was Ähnliches auf meiner bestehenden Seite folgendermassen gelöst:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
<script language="JavaScript">
<!--
if(top.frames.length <= 0)
top.location = "index.html";
//-->
</script>

Klickt einer auf ein HTML Dokument mit dem o.g. JS im Header, wird automatisch die index.html aufgerufen, die die Frames der WebSite lädt. Im Gegensatz zu dem was ich suche wird hier aber immer die Startseite der WebSite mit dem vordefinierten Inhalt geladen und nicht die angeklickte HTML Seite in einen Frame. Kann man das in JS so ändern, wie ich es mir wünsche ???

THX
Uli

geschrieben von René am 20.06.2005 - 15:44
Hi Uli,

such mal hier im Forum nach Frame nachladen oder Frameset nachladen

Oder auch mal hier schauen http://www.javarea.de/index.php3?op....-Framesets

geschrieben von sobi am 20.06.2005 - 18:18
Ich hatte schon nachgesehen, bin aber nicht fündig geworden, obwohl das Thema schon Asbach ist. Ich war mit dem Script von Klaush aus dem Archiv auch nicht warm geworden, weil da eine absolute Adresse aufgerufen wird. (Hab's halt mal wieder nicht geblickt ).

Jetzt hab ich eine eigene Routine geschrieben. In die Sub-Datei, die aufgerufen werden kann kommt folgendes:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
<html>
<head>

<script language="Javascript">

     function checkFrame() {
              if(!parent.iframename)
              location.href="./iframe.html?"+ location.pathname;
     }

</script>

</head>
<body onload="checkFrame()">

Nachgeladene Seite

</body>
</html>


Und in die Hauptseite, wo die Sub Datei in den I Frame geladen werden soll kommt:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
<html>
<head>

<script language="javascript">

   function IFrameStart() {
	
          var URL=location.search;

          if(URL)
          var c = '<iframe src="'+ URL +'" border="1" width="200" height="200"></iframe>';
          document.getElementById('iframename').innerHTML = c;
   }

//-->
</SCRIPT>


</head>
<body onLoad="IFrameStart()">
<table width="100%">
  <tr>

    <td id="iframename">&nbsp;</td>

  </tr>
</table>
</body>
</html>
Jetzt gib mir doch noch mal einen Tritt. Wenn ich oben statt '+ URL +' einen gültigen Dateinamen angebe, funzt es. Mit der Variablen URL bekomme ich eine Endlosschleife. var URL = location.search liefert nicht den richtigen Wert. Hast Du einen Tipp ?? In PHP würd ich es hinkriegen, aber JS ist mir noch fremd

cu
Uli

geschrieben von sobi am 20.06.2005 - 19:04
URL fängt an mit:: ?/C:/pfadname/dateiname

Das kann die Routine wohl nicht verstehen. Wie filtert man denn die ersten beiden Zeichen ?/ raus ???

thx
Uli

geschrieben von sobi am 20.06.2005 - 19:17
HTML-Quelltext
1: 
2: 
var URL = location.search;
var URL = URL.substring(1,URL.length);

geschrieben von René am 20.06.2005 - 19:38
http://www.javarea.de/forum/showthr....eadid=2367

geschrieben von sobi am 21.06.2005 - 03:00
Die Routine läuft. Da fertige Lösungen ja im Forum stark gesucht werden und selten sind, geb ich das Script zum Download in den Anhang. Falls Jemand noch Verbesserungsvorschläge hat, dann bitte mitteilen.

ciao
Uli

geschrieben von Micha am 21.06.2005 - 07:16
Warum das Rad immer neu erfinden, wo schon unzählige Leute dieses Problem hatten und somit zwangsläufig auch schon eine Lösung existieren muss.

Micha

geschrieben von sobi am 21.06.2005 - 09:18

geschrieben von sobi am 21.06.2005 - 11:41
Zitat
  Original geschrieben von derletztekick am 21.06.2005 - 07:16
Warum das Rad immer neu erfinden, wo schon unzählige Leute dieses Problem hatten und somit zwangsläufig auch schon eine Lösung existieren muss.

Micha


Deinen Link zur Lösung hab ich nicht sofort gesehen.


geschrieben von Micha am 21.06.2005 - 22:00
Ich musste auch kurz stutzen, was Du mir sagen willst^^ Naja, hat sich dann ja geklärt...

Micha


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