Ich bearbeite eine HTML-Datei in Vim und möchte, dass der Browser aktualisiert wird, wenn sich die darunter liegende Datei ändert.
Gibt es ein Plugin für Google Chrome, das auf Änderungen an der Datei wartet und die Seite jedes Mal automatisch aktualisiert, wenn ich eine Änderung an der Datei speichere? Ich weiß, dass es XRefresh für Firefox gibt, aber ich konnte XRefresh überhaupt nicht zum Laufen bringen.
Wie schwer wäre es, ein Skript zu schreiben, um dies selbst zu tun?
vim
google-chrome
automation
Kevin Burke
quelle
quelle
Antworten:
Ich nehme an, Sie sind nicht unter OSX? Andernfalls könnten Sie mit Applescript so etwas tun:
http://brettterpstra.com/watch-for-file-changes-and-refresh-your-browser-automatically/
Es gibt auch ein Plugin für Chrome namens "Auto Refresh Plus", in dem Sie alle x Sekunden ein erneutes Laden angeben können:
https://chrome.google.com/webstore/detail/auto-refresh-plus/oilipfekkmncanaajkapbpancpelijih?hl=de
quelle
keyword
inwatch_keyword
in der folgenden Zeile:if (URL of atab contains "#{keyword}") then
Reine JavaScript-Lösung!
Live.js
Fügen Sie einfach Folgendes zu Ihrem hinzu
<head>
:Ich habe diese Antwort von hier aus fast wörtlich kopiert , weil ich denke, dass sie einfacher und allgemeiner ist als die derzeit akzeptierte Antwort hier.
quelle
php -S localhost:8080
python3 -m http.server
, sowie viele weitere für andere Sprachen / Tools .Tincr ist eine Chrome-Erweiterung, die die Seite aktualisiert, wenn sich die darunter liegende Datei ändert.
quelle
Handy Bash Einzeiler für OS X, vorausgesetzt, Sie haben fswatch (
brew install fswatch
) installiert . Es überwacht einen beliebigen Pfad / eine beliebige Datei und aktualisiert die aktive Chrome-Registerkarte, wenn Änderungen vorgenommen werden:Weitere Informationen zu fswatch finden Sie hier: https://stackoverflow.com/a/13807906/3510611
quelle
Durch Hinzufügen eines einzelnen Meta-Tags zu Ihrem Dokument können Sie den Browser anweisen, in einem bestimmten Intervall automatisch neu zu laden:
Dieses Meta-Tag befindet sich im Head-Tag Ihres Dokuments und weist den Browser an, alle drei Sekunden eine Aktualisierung durchzuführen.
quelle
http://livereload.com/ - native App für OS X, Alpha-Version für Windows. Open Source unter https://github.com/livereload/LiveReload2
quelle
Verwenden Sie Gulp , um die Dateien anzusehen, und Browsersync , um den Browser neu zu laden.
Die Schritte sind:
In der Kommandozeile ausführen
Erstellen Sie gulpfile.js mit den folgenden Inhalten:
Lauf
Bearbeiten Sie HTML, speichern Sie und sehen Sie, wie Ihr Browser neu geladen wird. Die Magie wird durch das spontane Einfügen eines speziellen Tags in Ihre HTML-Dateien erreicht.
quelle
Die LivePage Chrome-Erweiterung kann einfach so eingestellt werden, dass Änderungen in lokalen Dateien überwacht werden.
quelle
Ich weiß, dass dies eine alte Frage ist, aber falls es jemandem hilft, gibt es ein Reload- npm-Paket, das sie löst.
Falls Sie es nicht auf einem Server ausführen oder den Fehler erhalten haben
Live.js doesn't support the file protocol. It needs http.
Einfach installieren:
Führen Sie dann in Ihrem index.html-Verzeichnis Folgendes aus:
Es wird ein Server gestartet, der jedes Mal aktualisiert wird, wenn Sie Ihre Änderungen speichern.
Es gibt viele andere Optionen, falls Sie es auf dem Server oder etwas anderem ausführen. Überprüfen Sie die Referenz für weitere Details!
quelle
Es gibt eine Java-App für OS X und Chrome namens Refreschro. Es überwacht einen bestimmten Satz von Dateien im lokalen Dateisystem und lädt Chrome neu, wenn eine Änderung festgestellt wird:
http://neromi.com/refreschro/
quelle
Wenn Sie unter GNU / Linux arbeiten, können Sie einen ziemlich coolen Browser namens Falkon verwenden . Es basiert auf der Qt WebEngine . Es ist genau wie bei Firefox oder Chromium - außer dass die Seite automatisch aktualisiert wird, wenn eine Datei aktualisiert wird. Die automatische Aktualisierung spielt keine Rolle, ob Sie Vim, Nano oder Atom, Vscode, Klammern, Geany, Mousepad usw. verwenden.
Unter Arch Linux können Sie Falkon ganz einfach installieren:
Hier ist das Snap-Paket.
quelle
Eine schnelle Lösung, die ich manchmal verwende, besteht darin, den Bildschirm in zwei Teile zu teilen. Jedes Mal, wenn eine Änderung vorgenommen wird, klicken Sie auf das Dokument xD.
quelle
In node.js können Sie primus.js (Websockets) mit gulp.js + gulp-watch (einem Task-Runner bzw. einem Listener ändern) verbinden, sodass gulp Ihrem Browserfenster mitteilt, dass es aktualisiert werden soll, wann immer HTML, js usw. ändern. Dies ist OS-unabhängig und ich habe es in einem lokalen Projekt arbeiten.
Hier wird die Seite von Ihrem Webserver bereitgestellt und nicht als Datei von der Festplatte geladen, was eigentlich eher der Realität entspricht.
quelle
Das funktioniert bei mir (in Ubuntu):
Möglicherweise müssen Sie die Pakete inotify und xdotool (
sudo apt-get install inotify-tools xdotool
in Ubuntu) installieren und die Argumente--class
in die tatsächlichen Namen Ihres bevorzugten Browsers und Terminals ändern .Starten Sie das Skript wie beschrieben und öffnen Sie einfach index.html in einem Browser. Nach jedem Speichern in vim fokussiert das Skript das Fenster Ihres Browsers, aktualisiert es und kehrt dann zum Terminal zurück.
quelle
xdotool search --name 127.0.0.1 windowactivate key F5
für die Arbeit an localhost (127.0). 0.1) natürlich nur. Jetzt muss ich das wieder in das Skript einstecken.Die flexibelste Lösung, die ich gefunden habe, ist die Chrome LiveReload-Erweiterung in Verbindung mit einem Guard-Server .
Beobachten Sie alle Dateien in einem Projekt oder nur die von Ihnen angegebenen. Hier ist ein Beispiel für eine Guardfile-Konfiguration:
Der Nachteil ist, dass Sie dies pro Projekt einrichten müssen und es hilft, wenn Sie mit Ruby vertraut sind.
Ich habe auch die Tincr-Chrome-Erweiterung verwendet - aber sie scheint eng mit Frameworks und Dateistrukturen verbunden zu sein. (Ich habe versucht, tincr für ein Jekyll-Projekt zu verkabeln, aber es erlaubte mir nur, eine einzelne Datei auf Änderungen zu überprüfen, ohne Einschluss-, Teil- oder Layoutänderungen zu berücksichtigen.) Tincr funktioniert jedoch sofort mit Projekten wie Rails, die konsistente und vordefinierte Dateistrukturen aufweisen.
Tincr wäre eine großartige Lösung, wenn es All-Inclusive-Übereinstimmungsmuster zum erneuten Laden zulassen würde, aber das Projekt ist in seinem Funktionsumfang immer noch begrenzt.
quelle
Dies kann mit einem einfachen Python-Skript erfolgen.
Ausführliche Informationen finden Sie hier .
quelle
Basierend auf der Antwort von attekei für OSX:
Chuck all das in
reload.scpt
:Dadurch wird die erste gefundene Registerkarte neu geladen, die
file://
mit dem ersten Befehlszeilenargument beginnt und mit diesem endet. Sie können es nach Wunsch anpassen.Zum Schluss machen Sie so etwas.
fswatch -o
Gibt die Anzahl der Dateien aus, die sich in jedem Änderungsereignis geändert haben, eine pro Zeile. Normalerweise wird nur gedruckt1
.xargs
liest diese1
s ein und-n1
bedeutet, dass sie jedes als Argument an eine neue Ausführung von übergebenosascript
(wo es ignoriert wird).quelle
tab.title.includes(argv[0])
als bedingte ich auf Seitentitel anzeigen lassen kann , die als URL weniger heikel sein kann, und arbeitet als einen lokalen Server verwenden , anstatt file: //.Installieren und einrichten
chromix
Fügen Sie dies nun zu Ihrem hinzu
.vimrc
Ändern Sie den Port auf das, was Sie verwenden
quelle
Speichern Sie diesen Code in einer Datei Livereload.js und fügen Sie ihn wie folgt am Ende des HTML-Skripts ein:
Dadurch wird die Seite alle 100 Millisekunden aktualisiert. Alle Änderungen, die Sie am Code vornehmen, sind für die Augen sofort sichtbar.
quelle
Ok, hier ist meine grobe Auto-Hotkey- Lösung (unter Linux versuchen Sie es mit Auto Key ). Wenn die Tastenkombination zum Speichern gedrückt wird, aktivieren Sie den Browser, klicken Sie auf die Schaltfläche zum erneuten Laden und wechseln Sie zurück zum Editor. Ich bin es einfach leid, andere Lösungen zum Laufen zu bringen. Funktioniert nicht, wenn Ihr Editor automatisch speichert.
quelle
Offline-Lösung mit R.
Dieser Code wird:
Lassen Sie den Browser jedes Mal aktualisieren, wenn eine Änderung in der HTML-Datei gespeichert wird.
Ähnliche Lösungen gibt es für Python usw.
quelle
Fügen Sie dies Ihrem HTML hinzu
Während Sie bearbeiten, wird Ihre Browserseite unscharf. Wenn Sie zurückschalten, um sie anzuzeigen, wird das Fokusereignis ausgelöst und die Seite neu geladen.
quelle
Geben Sie dann einfach das zu überwachende Verzeichnis ein und führen Sie "watch_refresh_chrome" aus.
quelle