Hallo Leute!
Wie kann ich ein bereits offenes html-Fenster neu laden?
Am liebsten wäre mir ein Ereignisorientierter Befehl, den ich vielleicht über PHP oder JavaScript einbinden könnte. Aber auch eine zeitliche Aktualisierung würde mir helfen!
Danke im vorraus
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
hmm, generell geht das, nur wird da der user ganz schnell ds fenster wieder zu machen, da das meist gewaltig nervt. mit einem automatischen reload wäre das denke ich am simpeltsten machbar:
<script LANGUAGE="JAVASCRIPT">
<!--
var counter=1; // in wieviel sekunden soll die seite reloaded werden
var URL="deineseite.html"
function timer() {
document.form.input.value=counter;
if (counter == 0) {location.href=URL;} else {counter = counter - 1; setTimeout("timer()",
1000);}
}
//--> </script>
Es gibt sicher elegantere lösungen aber das ist die die mir spontan einfällt
Du solltest lieber dem user selbst die möglichkeit geben, nach belieben zu aktualisieren, denn modemuser werden sich wie erwähnt freuen..sieh mal auf den nickles seiten oben links nach...dort ist es auch so gemacht worden.
das einfachste ist meist das beste:
function refresh()
{
history.go(0);
}
und das dann in das gewünschte ereignis einbauen, z.b. ein image, das geklickt wird:
<img src="irgendeinbild.jpg" onClick="refresh()">
oder du willst es zeitgesteuert:
function refresh()
{history.go(0);}
window.setTimeout("refresh()",10000)
(läd die seite alle 10 sekunden)
ich sags ja pfui bäh java script
öhh geht das auch per PHP?? Jaja ich weiss, der Server wird rattern wie verrückt, aber nur so eine Frage eben gibt es da eine möglichkieit?
übrigens erinnere ich mich dunkel, daß du auf eurer vereinsseite auch hie- und da javascript eingesetzt hast ;o)...
und im übrigen, was man gern vergisst, sämtliche eventhandler gehören auch zu javascript, also wär mit dynamscihen farbänderungen u.ä. spielchen ohne js auch schluß (obwohl man auf die wohl noch am ehesten verzichten kann)
nope, da der client die getanweisung initialisieren muß und auch nur der client die events im browser überwachen kann. man kann nur über php einen refresh als meta-angabe mitschicken, aber das sit eigentlich weit von dem entfernt, was javascritp hier leistet...
tut mir leid heinz, bei machen verwendungszwecken ist nun eben javascript die einzige möglichkeit gewisse dinge zu realisieren ;o)...
wie sonst willst du interaktivität erreichen? vbs, activex, jscript? *fg*
ganz nüchtern betrachtet...
ja, javascript hat sicherheitslöcher, dafür erfüllt es aber auch funktionen, die anderst nur mit noch größeren sicherheitslöchern erkauft werden kann (siehe vb-script, activex,...). javascript kann php nich tersetzen, aber php kann auch nicht javascript ersetzen, einfach weil es zwei komplett unterschiedliche dinge sind. das eine läuft auf dem server, das andere auf dem client. sinnvoll eingesetzt kann man mit beidem zusammen eine gute webanwendung schreiben. im übrigen hat php auch so seine löcher ;o)..
aber hier mal ein kleines beispiel aus meinem letzten auftrag:
es geht um eine adressdatenbank mit komplexen suchfunktionen und verwaltung. darin befinden sich für häufig genutzte datensatzobjekte wie z.b. anrede dropdownmenüs. unter anderem auch für datensatztyp, region, bundesland, position, produkte. diese dropdowns werden aus der datenbank aus bereits vergebenen bezeichnungen erstellt und dynamisch eingetragen. jetzt gibt es bei der eingabemaske nur ein problem: was mache ich, wenn ich einen datensatz eingebe mit einem neuen punkt, der noch nicht vergeben wurde? ich könnte natürlich noch neben das dropdownmenü (options) ein textfeld stellen und auf dem server dann mühsam mit if-bedingungen für jedes feld überprüfen, ob ein neues vergeben wurde, oder eines ausgewählt wurde. bei 20 options ein ziemlicher aufwand, der den server belastet, dan code aufbläht und die datenmaske mehr als unübersichtlich macht. ich kann natürlich auch ein neues fenster öffnen mit einem textfeld, daß abhängig vom kontext in die jeweilige option die neue auswahl einträgt dynamisch (das selbe ist auch noch mal für mehrere textareas vorhanden) und ich habe code und serverbelastung minimiert. das selbe gilt für strings für suchanfragen, die schon auf dem client vormontiert werden (natürlich muß hier noch eine überprüfung auf dem server stattfinden, allein schon aus sicherheit). aber alles in allem ergänzen sich hier php und javascript.
auch wenn javascript unschön, schlecht zu strukturieren, browserabhängig und in seiner funktion eingeschränkt ist (was sich allerdings durch eine hta erweitern lässt)...es führt oftmals einfach kein weg dran vorbei ;o)...vielleicht kann ich dich ja doch irgendwann mal davon überzeugen ;o)...du nutzt ja schließlich auch windows ;o)
.... jetzt mal KLartext: die Frage "geht das auch mit php?" ist völlig daneben - die Antwort lautet immer "nein". Wenn du irgendwas auf dem Client machen willst und *einigermaßen* kompatibel und sicher sein willst, geht kein Weg an Javascript vorbei.
Alles auf dem Server zu machen erzeugt wieder Traffic und Serverlast.
Genauso könntest du Fragen, weil du Autofahren blöd findest, ob du auch mit dem Boot zum Bäcker fahren kannst, um Brötchen zu holen ...
Es gibt kein "gut" und "böse" in der Webprogrammierung, es gibt nur angemessene und unangemessene Mittel - die Technologie richtet sich nach dem, was ich erreichen will ;-)
Ob man eine bestimmte Aufgabe besser auf dem Client oder auf dem Server löst, kann man diskutieren - danach steht die zu verwendende Technologie aber fest ;-)
Have fun,
Z.
ja schon richtig....ich versuche halt wo es nur geht javascript zu vermeiden...das eine geht in opera nicht, das andere im NN nicht, im IE geht es, aber einige der user haben es deaktiiert...und so weiter und so fort...
ausserdem kommt man ja doch nicht um PHP rum, ausserdem ist PHP einfach nur superpraktisch,klar erzeuge ich Traffic, wenn ich das Datum vom Server mittels PHP hole, aber wenn der User JavaS deaktiviert hat, muss ich wieder tausende von hinweisen reibauen...? á la Bitte aktivieren Sie JavaScript:
@Xafford:
Schon richtig...zum Beispiel die Formularprüfung läuft (noch) auf Script Basis, und das wird auch weiterhin so bleiben...denn logischerweise erzeugt es keinen Traffic, aber als professionelle Lösung bleibt mir ja nur eines übrig, um wirklich keine leeren Einträge in der DB zu haben: PHP Formularprüfung..die ich auch bald mal reinmache. Dazu werde ich z.B. eine IP Sperre reinbauen (jaja, natürlich kann mam 10 000 einträge machen, wenn man das vorhat, aber es ist doch erstmal etwas mühselig, sich neu einzuwählen die Felder auszufüllen etc.
viel einfach ist es, bei einer NUR Javascript lösung: JS deaktivieren und schon klick klick hat man 30 einträge...für spammer optimal.
p.s. auf farbänderung und derartige spielchen steh ich eigentlich eh nicht..
und zu guter letzt sollte noch erwähnt bleiben:
PHP finde ich ist eine supereffektive Sprache, mit der ich meines erachtens mehr anfangen kann als mit JS...an JS hab ich mir ein Jahr die Zähne ausgebissen, das kleinste Script ist kryptischer als jedes PHP Script und kann im vergleich nicht mal annähernd soviel.
Und immer wieder mein Argument:
Wozu JS lernen, wo es bessere Sprachen gibt, auch wenn PHP und JS nicht zu vergleichen ist, so braucht man kein JS, PHP jedoch ist universell anwendbar, da man keine Vorraussetzung vom Client benötigt. Ich programmiere 5 wochen an einem JS Menü, das dann nur in 4 browser funkz. dann kommt der neue browser auf den markt, da hat mein Script probleme und zu guterletzt muss ich doch einen NON JA Alternative erschaffen, da es genug NON JS User gibt. :(