Browser automatisch aktualisieren Beim Entwickeln

1

Ich verbinde mich zurzeit über SFTP mit einem Server, damit ich die Dateien lokal bearbeiten und sie jedes Mal, wenn ich eine Datei ändere / aktualisiere, wieder auf den Server hochladen kann. Nun, ich habe es satt, jedes Mal das Browserfenster aktualisieren zu müssen, um diese Änderungen zu sehen.

Gibt es Apps, die automatisch für mich aktualisiert werden? Ich habe LiveReload ausprobiert, aber das ist nur für lokale Dateien, nicht für SFTP.


quelle
Ich stelle mir vor, Sie könnten dies mit WinSCP mithilfe eines Befehls tun.
Jared Farrish
1
Ist das Drücken von F5 wirklich so viel Aufwand? Sie hätten Ihre Seite 355 mal aktualisieren können, anstatt diesen Beitrag zu verfassen! ;) Aber im Ernst, hier sind einige Optionen: net.tutsplus.com/tutorials/other/… ( Gibt es auch einen Grund, warum Sie während der Entwicklung nicht in localhost arbeiten können?)
Sie können auch ein Skript auf dem Server ausführen, um einen Web-Socket zu implementieren (in einem Browser, der Web-Sockets wie Chrome oder Firefox unterstützt), und eine Socket-Oberfläche in Chrome einrichten, um beispielsweise darauf zu warten, dass Ihr SFTP-Client benachrichtigt, dass eine Datei berührt wurde, und Broadcast zurück auf Ihre Seite (n), um sie zu aktualisieren. Scheint ein Kreisverkehr zu sein, aber es macht für mich Sinn.
Jared Farrish

Antworten:

3

In LiveReload gibt es eine Option zum "Überschreiben von URLs, um modifiziertes CSS von localhost bereitzustellen". Es ist unter dem ersten Optionsfeld. Die Seite wird neu geladen, wenn Änderungen an lokalen Dateien vorgenommen werden. Ich habe jedoch festgestellt, dass einige Probleme mit Bildern auftreten, die beim erneuten Laden nicht angezeigt werden.


quelle
livereload.com
Jared Farrish
1

Sie können die alte Methode zur Verwendung eines Meta-Refresh-Tags verwenden:

<meta http-equiv="refresh" content="600">

Dadurch wird der Browser angewiesen, die Seite alle 600 Sekunden zu aktualisieren.

Stellen Sie sicher, dass Sie es entfernen, bevor Sie Ihre Site in die Produktionsumgebung verschieben. Niemand mag eine Überraschungsaktualisierung.

Kyle
quelle
Ja, das kann ich nicht, da es eine Live-Site ist, aber danke.
Aha, dann kenne ich keine anderen Ressourcen :) Viel Glück!
Kyle
Gute Antwort, aber ich habe versucht, in meinem Browser ist es 600 Sekunden, aber nicht 600 Millisekunden
Ups, ich werde das ändern, danke für die Köpfe nach oben :)
Kyle
Ich würde wahrscheinlich vorschlagen, dass ein Hintergrund-Worker-Skript eingefügt wird, wenn Sie von einer IP-Adresse oder einem anderen Bezeichner kommen. Stattdessen sollte ein Skript den letzten mit dem aktuellen Zeitstempel für Ihre Sitzung vergleichen. Oder lassen Sie den sFTP-Client ein Skript anpingen, das den neuen Zeitstempel für die Datei auf einen Index überträgt, auf den das Beobachtungsskript zugreift, das mit den Änderungen an der Browser-Datei kommuniziert. Weißt du, einfaches Zeug.
Jared Farrish
0

Zusätzlich zu Kyles großartiger Antwort:

Sie können Browser-Plugins verwenden, um Seiten automatisch zu aktualisieren. Sie können das Intervall im laufenden Betrieb ändern, anders als bei der Meta-Tag-Methode, bei der das Meta-Tag bearbeitet werden müsste, wenn die Aktualisierungsrate für Sie nicht korrekt ist.

Sie können eine Liste der Plugins erhalten: http://cerberusweb.com/support/kb/article/62

Ryan McDonough
quelle
0

Eine andere Lösung besteht darin, eine weitere Seite zu erstellen, um Ihre Webseite in einen Iframe zu verpacken, und diese dann auf der äußeren Seite mit js settimeout zu aktualisieren. Dies hat keine Auswirkungen auf andere Benutzer.

Teddy
quelle