Datei öffnen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anfnger
beitrag
datei
dateiname
fragen
funktion
gebieten
gefecht
genau meinst
genauere erklrung
letzte frage
lsen
mehreren zeilen
mglichkeit
praktisch
reinschrift
tutorial
variable
vielen dank
zeile
-
Ich habe volgendes Problem: auf meiner HP soll es eine Seite geben, die per zufall eine aus 10 verschiedenen datein öffnet, wo ein liedtext drinnensteht (in reinschrift oder in javascriptcode).
gibt es dazu eine möglichkeit, den liedtext irgentwie per zufall auf die page zu bringen?
danke im vorraus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ja, mit Ajax.
Du gibst in deinem Script einfach die verschiedenen Dateinamen an, spielst die Dateien auf deinen Server und öffnest eine zufällige von diesen per HTTP-Request.
Wie das geht, kannst du aber schön selbst herausfinden, such doch bei Google mal nach einem Ajax-Tutorial, dann sollte das kein Problem mehr darstellen. :P -
muss man ajax irgentwie installieren oder ist das so wie js oder php?
bin noch totaler anfänger auf dem gebiet, und hab schon 100 tots über datei öffnen gelesen, irgentwie wars nie das richtige -
Habe ich gerade über Google geredet, oder täusche ich mich da?
http://www.google.de/search?q=ajax+tutorial
Die erste Seite besteht praktisch nur aus brauchbaren Links, die folgenden habe ich mir nicht näher angesehen, ich kann mir aber vorstellen, dass es da noch weiter geht. -
ty für die seite, echt cool, das erst beipiel erfüllt auch schon 70% von dem, was ich wollte.
nur eine frage: bei der messagebox wird ein multilinetext auch in mehreren zeilen angezeigt, aber im Feld nicht, gibts dafür einen trick? -
guck dir das mal an: http://merde4.lima-city.de/Ajax.html
-
Du musst die Zeilenvorschübe deiner Text-Datei in den HTML-<br>-Code umwandeln...
Das heißt, wandle einfach alle \\r\\n im String, den du per Request bekommst in \"<br>\" (oder \"<br />\" - kommt darauf an, ob du XHTML schreibst) um, dann sollte es funktionieren.
edit: Hmpf, verdammte Escape-Slashes... nur jeweils eins vor dem r und dem n gehört da hin, alle anderen ignoriere einfach. :)
Beitrag geändert: 27.9.2007 21:15:01 von timo1 -
danke, an die <br> hatte ich noch gar nicht gedacht, das funktioniert einmal, aber kann man eigentl. ich ajax genau wie in javascript mittels der funktionen:
i = 1 + 2*(Math.random());
i = Math.round(a);
eine zufallszahl erzeugen, di man mit der req mitsendet, damit dann hald immer das i + \".txt\" angezeigt wird? -
Merke: Ajax ist JavaScript und bezeichnet praktisch nur den Vorgang des asynchronen Datenaustauschs zwischen Client und Server. (siehe dazu auch http://de.wikipedia.org/wiki/Ajax_%28Programmierung%29)
Folglich kannst du auch alle JavaScript-Funktionen in deinen Scripts benutzen. -
so, ich hoffe das ist hetzt meine letzte frage:
i = 1 + 2*(Math.random());
i = Math.round(a);
req.open(\"GET\", \'http://merde4.lima-city.de/\' + i + \'.txt\', true);
kann ich das so schreiben, weil bei mir schreibts immer einen error, oder muss ich da die variable i noch deklarieren? -
Du musst einfach vor die erste Verwendung von i ein var setzen, also müsste die erste Zeile dann so lauten:
var i = 1 + 2*(Math.random());
Dann dürfte es funktionieren.
edit: Da fällt mir grad auf... die Variable a aus der 2. Zeile müsste doch auch ein i sein, oder etwa nicht?
Beitrag geändert: 27.9.2007 21:32:25 von timo1 -
irgentwie macht er jetzt gar nichts mehr, nicht einmal zeigt er eine msgbox, wenn ich das schreibe:
var i = 1 + 2*(Math.random()); i = Math.round(a); alert(i);
-
Siehe meinen Edit und lad dir mal Firebug für den Firefox herunter, da wird dir der Fehler sofort angezeigt. ;)
-
danke, dass ich a mit i vertauscht habe, ist mir noch gar nicht aufgefallen, danke, jetzt funktionier alles. Nur noch eine frage: kann man den komischen Rahmen auch noch wegbringen?
Hier der Gesamtcode:
<html> <head> <title>Meine ersten Ajax Erfahrungen</title> <script type=\"text/javascript\"> <!-- function doIt(){ //erstellen des requests var req = null; try{ req = new XMLHttpRequest(); } catch (ms){ try{ req = new ActiveXObject(\"Msxml2.XMLHTTP\"); } catch (nonms){ try{ req = new ActiveXObject(\"Microsoft.XMLHTTP\"); } catch (failed){ req = null; } } } if (req == null) alert(\"Error creating request object!\"); //anfrage erstellen (GET, url ist localhost, //request ist asynchron var i = 1 + 2*(Math.random()); i = Math.round(i); alert(i); //var i = \'1\' req.open(\"GET\", \'http://merde4.lima-city.de/\' + i + \'.txt\', true); //Beim abschliessen des request wird diese Funktion ausgeführt req.onreadystatechange = function(){ switch(req.readyState) { case 4: if(req.status!=200) { alert(\"Fehler:\"+req.status); }else{ alert(req.responseText); //schreibe die antwort in den div container mit der id content document.getElementById(\'eins\').innerHTML = req.responseText; } break; default: return false; break; } }; req.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\"); req.send(null); } //--> </script> </head> <body> <div id=\"eins\" style=\"width: 80%; height: 80%; border: dashed 1px;\"> <input type=\"button\" onclick=\"doIt();\" value=\"Mach was!\"/> </div> </body> </html>
-
Entferne einfach die entsprechenden CSS-Eigenschaften in deinem Ausgabe-Div.
Aus
<div id=\"eins\" style=\"width: 80%; height: 80%; border: dashed 1px;\"> <input type=\"button\" onclick=\"doIt();\" value=\"Mach was!\"/> </div>
wird dann
<div id=\"eins\"> <input type=\"button\" onclick=\"doIt();\" value=\"Mach was!\"/> </div>
-
Hmm, im Eifer des Gefechts haben wir PHP ganz vergessen.^^
Wenn du das Problem so lösen willst, wie es jetzt gerade ist, nämlich dass es beim Laden gleich den Text anzeigt und nicht erst nach betätigen eines Buttons, ist es einfacher und sicherer, das ganze per PHP zu lösen...
Ich kann dir da http://tut.php-q.net/ empfehlen. ;) -
danke, jettz funktioniert alles genau so, wie ich es von anfang an geplant hatte.
vielen dank!
lg
Vali -
Wenn du Dreamweaver CS3 hast, ist das mit dem Ajax-Spry-Framework kein Problem. Da geht alles auf ein paar Klicks und der HTML- bzw. JavaScript-Code wird automatisch generiert.
-
Wenn du Dreamweaver CS3 hast, ist das mit dem Ajax-Spry-Framework kein Problem. Da geht alles auf ein paar Klicks und der HTML- bzw. JavaScript-Code wird automatisch generiert.
Adobe Dreamweaver habe ich, die Version 8
kannst du mir mal kurz erklären, wie ich das dann mit der generate-funktion geht??
lg
vali -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage