# Website nur Inhalt soll wechseln und laden



## di_ettelo (2. März 2010)

Hallo,

ich möchte eine Website bauen bei dem nur der Inhalt wechselt und lädt also der rest der Seite lädt nicht neu (siehe Bilder) .

Also wenn man auf die Navigation den enstprechenden Button klickt kommt der Inhalt nicht im neuen Fenster vom verlinkten Button, sondern im selben also der Content wird getauscht.

Bitte schreibt mir wie das zu lösen ist.


----------



## tombe (2. März 2010)

Also wenn du eine Lösung mit Frames meinst, das wäre dann in etwa so:


```
<frameset cols="150,*" border="0" framespacing="0" frameborder="no">
  <frame src="menue.html" name="menue" noresize>
  <frame src="inhalt.html" name="inhalt" noresize>
 </frameset>
<noframes>
```


----------



## Maik (2. März 2010)

Moin,

ansonsten, wenn Frames bzw. ein iFrame nicht erwünscht sind, benötigst du für dein Vorhaben ein serverseitiges Script (PHP) oder clientseitiges Script (JS / AJAX), um die Inhalte im Hauptdokument nachträglich dynamisch zu tauschen.

Siehe z.B.:


PHP: Navigation über die URL "index.php?section=index" 
JS / AJAX: Dynamic Ajax Content

mfg Maik


----------



## di_ettelo (2. März 2010)

Ja das mit dem Ajax ist super nur kann man da auch Grafiken verlinken und genauso laden?

Edit:

habs schon.


----------



## Maik (2. März 2010)

Ja klar 

Was du letztlich als Inhalt nachlädst, spielt bei den Techniken keine Rolle.

mfg Maik


----------



## di_ettelo (2. März 2010)

eine Frage gibts noch.

Ich habe oben auch ein Navigation.

Der Code müsste dann irgendwas mit top colum sein glaube Ich.

Könnt ihr mir da noch helfen?

Ansonsten funktioniert das sehr gut die Sache.


----------



## Maik (2. März 2010)

di_ettelo hat gesagt.:


> eine Frage gibts noch.
> 
> Ich habe oben auch ein Navigation.
> 
> ...


Kannst du bitte näher erläutern, worauf du hinaus willst?

mfg Maik


----------



## di_ettelo (2. März 2010)

Ich hab mir das Demo File von der Ajax sache runtergeladen und da ist nur links Navigation.

Ich möchte aber oben auch eine Navigation.


----------



## Maik (2. März 2010)

Ja und?

Dann erstellst du eben an besagter Stelle deiner Seite  eine zweite horizontale Navigation.

Versteh jetzt nicht, wo hier das Problem ist?

mfg Maik


----------



## di_ettelo (2. März 2010)

es geht um den Quellcode für oben.

Da brauche Ich doch Topcollum und damit kenn ich mich grad ned aus wie Ich das richtig schreibe das die Ajax Sache für oben auch funktioniert.


----------



## Maik (2. März 2010)

Das ist doch nun wirklich kein Hexenwerk 

Ein bischen HTML und CSS, und fertig ist hier die Laube 


```
<body>
<div id="topnavigation">
    <ul>
         <li><a href="javascript:ajaxpage('ajaxfiles/external.htm', 'rightcolumn');">link 1</a></li>
         <li><a href="javascript:ajaxpage('ajaxfiles/external2.htm', 'rightcolumn');">link 2</a></li>
         <li><a href="javascript:ajaxpage('ajaxfiles/external3.htm', 'rightcolumn');">link 3</a></li>
    </ul>
</div>

<div id="leftcolumn">
<a href="javascript:ajaxpage('ajaxfiles/external.htm', 'rightcolumn');">Porsche Page</a>
<a href="javascript:ajaxpage('ajaxfiles/external2.htm', 'rightcolumn');">Ferrari Page</a>
<a href="javascript:ajaxpage('ajaxfiles/external3.htm', 'rightcolumn');">Aston Martin Page</a>

<div style="margin-top: 2em">Load CSS & JS files</div>
<a href="javascript:loadobjs('ajaxfiles/style.css', 'ajaxfiles/tooltip.js');">Load "style.css" and "tooltip.js"</a>

</div>

<div id="rightcolumn"><h3>Choose a page to load.</h3></div>
<div style="clear: left; margin-bottom: 1em"></div>

</body>
```


```
#topnavigation {
width:739px;
border:3px solid black;
margin-bottom:10px;
}
#topnavigation ul {
list-style:none;
}
#topnavigation ul li {
display:inline;
}
```

mfg Maik


----------



## di_ettelo (2. März 2010)

Ja genauso klappt Prima. Danke


----------



## crsakawolf (2. März 2010)

Hi,

ich rate dir von der Ajax technik für deine Zwecke ab.
Ich würde dir PHP empfehlen.

Problem bei Ajax ist, das du keine Seiten neu lädst, somit keine Vor- & Zurückbuttons des Browsers nutzen kannst.

Mit Php lädst du die seiten zwar neu, aber nur den kontext ...

Ich habe mir dazu eine Funktion geschrieben, die letztlich nichts anderes als Ajax macht, nur das du die Vor Zurück nehmen kannst.

Man kann sogar zwischen laden 
Sehr scheen wenn man ein Login hat und der User nicht eingeloggt ist .. wird gleich der Login angezeigt ..


```
function display($verz, $data)
     {

      if(file_exists($verz."/".$data.".php"))
      {
        ob_start();
        require_once(.$verz."/".$data.".php");
        $ausgabe = ob_get_contents();
        ob_end_clean();
      }else{
        ob_start();
        require_once("folder/datei.php");
        $ausgabe = ob_get_contents();
        ob_end_clean();
      }
        return $ausgabe;
     }
```


----------



## Maik (2. März 2010)

@crsakawolf: PHP hatte ich eingangs auch als erste Möglichkeit empfohlen, nur wird dies scheinbar nicht gewünscht, oder PHP steht nicht zur Verfügung.

Ein weiterer und noch entscheidender Vorteil gegenüber der AJAX-Variante: Sollte JS im Browser des Seitenbesuchers (wg. Sicherheitsgründen, Direktiven, o.ä.) deaktiviert sein, war's das mit dem munteren Datenaustausch 

Kommt also auch stückweise auf die Zielgruppe der Website an, ob sie in ihrem Browser JS aktiviert hat, um solche Interaktionen nutzen zu können - Stichwort: "Web 2.0".

mfg Maik


----------



## ComFreek (2. März 2010)

Man könnte doch auch IFRAMES verwenden. Bei der Navigation das Attribut _target=iframeName_ vom Link setzten.


----------



## Maik (2. März 2010)

Jo, Frames (oder iFrames) sind aber wohl auch nicht erwünscht - siehe Post #2.

mfg Maik


----------



## crsakawolf (2. März 2010)

@Maik

Hast du vollkommen recht ^^ Ohne JScript biste angear***t ^^
Habe das auch schon erfahren. Hab die Seite dann verworfen und habe neu aufgebaut.


----------



## di_ettelo (2. März 2010)

Naja Iframes sind nur dann erwünscht wenn sich nur der Inhalt ändert.


----------



## Maik (2. März 2010)

di_ettelo hat gesagt.:


> Naja Iframes sind nur dann erwünscht wenn sich nur der Inhalt ändert.


Was hier dann doch zutrifft :suspekt:


di_ettelo hat gesagt.:


> ich möchte eine Website bauen bei dem nur der Inhalt wechselt und lädt also der rest der Seite lädt nicht neu (siehe Bilder) .
> 
> Also wenn man auf die Navigation den enstprechenden Button klickt kommt der Inhalt nicht im neuen Fenster vom verlinkten Button, sondern im selben also der Content wird getauscht.





Maik hat gesagt.:


> ansonsten, wenn Frames bzw. ein iFrame nicht erwünscht sind, benötigst du für dein Vorhaben ein serverseitiges Script (PHP) oder clientseitiges Script (JS / AJAX), um die Inhalte im Hauptdokument nachträglich dynamisch zu tauschen.



mfg Maik


----------

