zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden Links in <div>-Container laden ohe Frames zu verwenden

Antwort
 
LinkBack Themen-Optionen Ansicht
  #31 (permalink)  
Alt 25.04.2008, 16:40
Neuer Benutzer
neuer user
 
Registriert seit: 23.04.2008
Beiträge: 15
Graveto befindet sich auf einem aufstrebenden Ast
Standard ne hab ich nich...

hab vorhin versucht das zu verstehen. Leider auch ohne viel Erfolg!
Wir schaffen das schon noch!!!

Oder vielleicht will uns doch jemand helfen?!
Mit Zitat antworten
Sponsored Links
  #32 (permalink)  
Alt 25.04.2008, 17:04
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 09.07.2004
Beiträge: 1.103
cgdesign befindet sich auf einem aufstrebenden Ast
Standard

Ich habe mal was auf die Schnelle gebastelt: Ajax - 2 Inhalte gleichzeitig laden
Mit Zitat antworten
Sponsored Links
  #33 (permalink)  
Alt 25.04.2008, 17:11
Neuer Benutzer
neuer user
 
Registriert seit: 23.04.2008
Beiträge: 15
Graveto befindet sich auf einem aufstrebenden Ast
Daumen hoch Thx

Sau cool!!! Danke!

Komm leider heut nicht mehr das umzusetzten. Aber Morgen bestimmt! Freu mich drauf!
Mit Zitat antworten
  #34 (permalink)  
Alt 25.04.2008, 22:13
Neuer Benutzer
neuer user
 
Registriert seit: 24.04.2008
Beiträge: 17
luckyluke befindet sich auf einem aufstrebenden Ast
Standard

Das sieht sehr gut aus =), nur noch eine Frage, wie sehen deine get.php's aus? Dort was geändert?

hab das Skript (danke dafür) mal eingebaut (noch ein bisschen umbenannt, dass ich die ganzen Links nicht wieder ändern muss=D)
jetzt geht der body onload endlich und es kommt Inhalt, wenn man die Seite lädt, aber die Navi-Buttons funktionieren noch immer nicht bzw. es passiert einfach nix wenn man drauf klickt...da ich nicht Textlinks nutze, kann ich die Javaskriptfunktionen kaum direkt in den href= Teil schreiben oder? Bei mir siehts momentan so aus:

Code:
<a href="javascript:void(0);" onClick="sndReqBB('getHomeBB'); sndReqSB('getHomeSB');"
				onmouseover="MM_swapImage('Home Button','','images/index_03ro.png',1);  window.status='Zur&uuml;ck zur Startseite';  return true;"
				onmouseout="MM_swapImgRestore();  window.status='';  return true;">
die Frage, die sich mir stellt ist folgende: Wo muss ich die (0) und die (1), die du da im Javascript-Teil des Links hast, hinpacken, wenn ich noch so Zeugs wie ('getHomeBB') habe (das ich ja brauche um die einzelen Inhalte aus der get.php abzurufen)...ev. wäre ein Blick in deine get.php bzw. get2.php recht hilfreich =)...

Ich danke dir herzlich für deine Mühe!! *handschüttel*

Geändert von luckyluke (25.04.2008 um 22:36 Uhr)
Mit Zitat antworten
  #35 (permalink)  
Alt 25.04.2008, 23:41
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 09.07.2004
Beiträge: 1.103
cgdesign befindet sich auf einem aufstrebenden Ast
Standard

Achso ja, meine get.php sieht total einfach aus:

PHP-Code:
switch($_GET['s'])
{
    case 
0:
        echo 
"Erster Inhalt";
        break;
    case 
1:
        echo 
"Zweiter Inhalt";
        break;

Die "0" und "1" kann man natürlich auch umbenennen. Ich habe auch keinen Trenner(|) angegeben, so wie du.

Du kannst es natürlich auch als Textlink so wie ich machen, aber warum es bei dir dann trotzdem nicht geht, weiß ich im Moment auch nicht :/
Weiß nur, dass onclick im XHTML klein geschrieben wird, aber daran kann es kaum liegen. Habe es auf meiner Seite auch mal in onclick geändert und es geht immer noch.
Ansonsten mal das mit den Meta-Tags in meiner Seite mit aufnehmen, also dass der Cache leer ist. Das gibt es auch mit einer php-Variante.

PHP-Code:
<?php
header
("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
header("Content-Type: text/html");
?>

Geändert von cgdesign (25.04.2008 um 23:50 Uhr)
Mit Zitat antworten
  #36 (permalink)  
Alt 29.04.2008, 01:09
Neuer Benutzer
neuer user
 
Registriert seit: 24.04.2008
Beiträge: 17
luckyluke befindet sich auf einem aufstrebenden Ast
Standard

Juhu, habs nach ein paar Stunden rumprobieren doch noch geschafft, ich danke dir!!!

Also abgesehen von ein paar kleineren Details funktionierts (also über den Berg bin ich*g*), habe die request.js ein wenig umbenannt, sieht jetzt so aus:

Code:
function sndReqSB(action)
{
	try {
		req = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (e) {
	//Kein AJAX Support
	}

	req.onreadystatechange = handleResponse;
	req.open('get', 'smallboxcontent.php?s='+ action);
	req.send(null);
}

function handleResponse()
{
	if((req.readyState == 4) && (req.status == 200))
	{
		document.getElementById('smallbox').innerHTML = req.responseText;
	}
}
function sndReqBB(action)
{
	try {
		req2 = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (e) {
	//Kein AJAX Support
	}

	req2.onreadystatechange = handleResponse2;
	req2.open('get', 'bigboxcontent.php?s='+ action);
	req2.send(null);
}

function handleResponse2()
{
	if((req2.readyState == 4) && (req2.status == 200))
	{
		document.getElementById('bigbox').innerHTML = req2.responseText;
	}
}
bei den get.php Dateien hab ich 1. einen mehr sagenden Namen gesucht =) und 2. ein bisschen zwischen der content.php (aus Bsp Seite 1) und deiner get.php kombiniert, da ich ja nicht direkt den Text in die get.php schreiben will (und per echo ausgeben), sondern über die get.php html-files aufrufen will (dachte jedenfalls, das geht eh nicht --> wenn ich jetzt anstatt echo "Erster Inhalt" einen Link a la echo "../text/home.html" eingegeben hätte...würde das gehen??) naja, auf jeden Fall sieht meine smallboxcontent.php folgendermassen aus (die 2. Datei = bigboxcontent.php ist analog dazu aufgebaut...)

Code:
<?php
switch($_GET['s']) {
  default:
  case 'getHomeSB':
    $filename = 'txt_home/text_smallbox.html';
    break;
  case 'getProfilSB':
    $filename = 'txt_profil/text_smallbox.html';
    break;

....usw.

  case 'getSmallForm':
    $filename = '/forms/smallkontaktform/index.php';
    break;
}
$handle = fopen($filename, 'r');
$content = fread($handle, filesize($filename));
fclose ($handle);
echo 'smallbox'.$content;
?>
Warums mir das Layout zerrissen hat, hab ich nach einigen intellektuellen Saltos dann auch herausgefunden: Ich @#!!"§ habe in allen .html Files noch die <head> und <body>-Tags samt Inhalt dringehabt...heisst dann nach dem request hab ich mehrere <body> etc...kann ja nicht gut kommen...soweit so gut, jetzt siehts einigermassen aus (Layoutmässig) --> die ganzen CSS formatierungen muss ich jetzt neu machen...deshalb sehen die Texte scheisse aus...


OK, jetzt hab ich noch zwei kleinere (hoffentlich) Probleme, die mit grosser Sicherheit auf reine Unwissenheit zurückzuführen sind:

1. es zeigt mir oben Links in den beiden DIV-Elementen das Wort "smallbox" bzw. "bigbox" an, ohne dass es irgendwo so im Code stehen würde (seht selbst hier), also gehe ich davon aus, dass diese beiden Wörter irgendwo von einem Skript generiert werden, sprich .js oder .php, nur weiss ich nicht welches...die verdächtigen Zeilen hab ich blau markiert (in den CODE Teilen)...

2. möchte ich gerne einen Formular-Mailer einbauen, der auf PHP aufbaut --> Das letzte Element der smallboxcontent.php verweist auf diese PHP-Datei des Formmailers, sie heisst index.php (rot markierter Teil in der smallboxcontent.php) --> vorher hatte ich iFrames und da war's kein Problem das Teil als index.php einfach reinzuladen, jetzt aber geht es (natürlich?) nicht mehr...meine Frage lautet also: Wie kann ich diese "index.php" des Formmailers mit dem hier vorliegenden Skript in meine Seite integrieren? php-Include? Irgendwo? Wenn ja wo? (Ah ja, die Seite des Formmailer Programmierers enthält Hinweise dazu, aber ich werde nicht schlau daraus --> Formmailer Seite


Was ich noch loswerden wollte: Dieses Forum ist der absolute Hammer, ich danke allen, die hier zur Problemlösung beigetragen haben! =) Ganz besonders aber CGDesign! Ehre wem Ehre gebührt! *hehe*


--------------------------------EDIT-----------------------------------------
OK, hab ein bisschen was rumprobiert und versucht, das mit dem PHP-Include für die Formmailer index.php irgendwie umzusetzen...hab mir das so gedacht:

smallboxcontent.php

Code:
<?php
switch($_GET['s']) {
  default:

..........

  case 'getLinksSB':
    $filename = 'txt_links/text_smallbox.html';
    break;
  case 'getSmallForm':
    $include = '/forms/smallkontaktform/index.php';
    break;
}
$handle = fopen($filename, 'r');
$content = fread($handle, filesize($filename));
fclose ($handle);
echo 'smallbox'.$content;
?>
oben ein Beispiel mit normaler .html-Datei und unten das Formularteil...

(hatte zuerst das include ohne $ davor, das mochte der Browser gar nicht... =D) jetzt zeigt er noch diese Fehlermeldung/Warnung an, aber was sie bedeutet weiss ich leider nicht...bzw. keine Ahnung, wie das zu beheben wäre^^

Fehlermeldung:

Warning: fread(): supplied argument is not a valid stream resource in /home/www/web397/html/fred-lee-john/AJAX/smallboxcontent.php on line 30

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web397/html/fred-lee-john/AJAX/smallboxcontent.php on line 31


Zeilen 30 und 31 sind die folgenden

Code:
$content = fread($handle, filesize($filename));
fclose ($handle);
die stammen noch aus der ersten content.php (Seite 1 dieses Threads...) und sind nicht Bestandteil der get.php des "lade 2 Seiten parallel"-PHP-Skripts, aber ohne funktionierts irgendwie auch nicht^^...

Geändert von luckyluke (29.04.2008 um 01:35 Uhr)
Mit Zitat antworten
  #37 (permalink)  
Alt 29.04.2008, 11:47
Neuer Benutzer
neuer user
 
Registriert seit: 23.04.2008
Beiträge: 15
Graveto befindet sich auf einem aufstrebenden Ast
Daumen hoch bei mir läuft das auch

erstmal vielen Dank für eure Hilfe! Das war super hier!
Eine Frage hab ich noch. Vielleicht weiß ja jemand spontan wie das geht!

Wie kann ich denn eine solche Seite verlinkbar machen? Is das überhaupt möglich? Ich meine, dass sich aus der Adressleiste erkennen lässt, welcher Inhalt sich gerade in den Containern befindet.
Mit Zitat antworten
  #38 (permalink)  
Alt 29.04.2008, 12:45
Neuer Benutzer
neuer user
 
Registriert seit: 24.04.2008
Beiträge: 17
luckyluke befindet sich auf einem aufstrebenden Ast
Standard

würd jetzt mal so aus dem Bauch heraus sagen, dass du das vergessen kannst, da ja di div-container Teil der "Hauptseite" sind und nur mit anderem Inhalt bestückt werden, ist also kein eigener Teil mit Adresse innerhalb der Seite, dafür müsstest du Frames bzw. iFrames verwenden, dann kannst du die einzelnen Inhalte direkt verlinken, da du z.B. im iFrame eine src angeben musst...aber mit dieser Seite (die wir da jetzt hinbekommen haben) lässt sich das kaum realisieren (ist ja eigentlich der Vorteil an der ganzen Sache, du kannst Teile der Seite laden ohne alles neu zu laden UND (hoffentlich) problemlos Skripte wie Shadowbox o.ä. benutzen, die gehen nämlich in iFrames nicht...)

zu meinen Problemchen hast du auch keinen Rat?
Mit Zitat antworten
  #39 (permalink)  
Alt 29.04.2008, 13:10
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 09.07.2004
Beiträge: 1.103
cgdesign befindet sich auf einem aufstrebenden Ast
Standard

Also, auf die Schnelle:

Ich würde die get.php anders lösen, es geht nämlich auch viel ,viel einfacher

PHP-Code:
<?php
switch($_GET['s'])
{
    case 
'getLinksSB':
        include 
'txt_links/text_smallbox.html';
        break;
    case 
'getSmallForm':
        include 
'/forms/smallkontaktform/index.php';
        break;
}
?>
Das wars schon. Keine extra Einbindung mit fopen oder sowas und dann löst sich auch dein zweites Problem von alleine.

Geändert von cgdesign (29.04.2008 um 13:14 Uhr)
Mit Zitat antworten
Sponsored Links
  #40 (permalink)  
Alt 29.04.2008, 13:23
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 09.07.2004
Beiträge: 1.103
cgdesign befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Graveto Beitrag anzeigen
erstmal vielen Dank für eure Hilfe! Das war super hier!
Eine Frage hab ich noch. Vielleicht weiß ja jemand spontan wie das geht!

Wie kann ich denn eine solche Seite verlinkbar machen? Is das überhaupt möglich? Ich meine, dass sich aus der Adressleiste erkennen lässt, welcher Inhalt sich gerade in den Containern befindet.
Hast du mal ein Online-Beispiel zur Hand? Prinzipiell würde das schon gehen, aber mit dem Anker-Element. quasi meineseite.de/index.php#inhalt1 oder so. Und mit dem Anker kann man dann via Javascript schon was draus machen.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Elemente in einem Div Container links & rechts ausrichte oliwa CSS 8 16.07.2004 15:39
Problem bei Positionierung eines <div> im Container Robse CSS 2 12.06.2004 13:43
<div> container ausrichten. IE6 u. Mozilla1.6 scan CSS 3 04.03.2004 14:16
<div> container verschwindet?! Gilbert CSS 3 30.09.2003 14:55
<div> container dynamisch vergrößern Anonymous CSS 7 27.07.2003 12:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:12 Uhr.