Automatischer Browser Reload

Welcher Webentwickler kennt dieses Problem nicht?  – Man ändert einzelne Komponenten auf einer Seite und möchte das Ergebnis dann im Browser sehen. Also öffnet man den Browser, macht einen Reload – in der Regel mit zu löschendem Cache, falls sich auch CSS oder Javascript Files geändert haben – und schaut sich das Ergebnis an. Der Browser läuft bereits auf einem eigenen Monitor, aber das Refreshing ist lästig.

Lösungen wie „Live.js“ oder „LiveReload“ funktionieren nicht (oder ich war zu blöd für die Einrichtung). Was also tun? Auch hier hilft wieder Powershell. Das nachfolgende Script sendet an einen geöffneten Firefox (Developer Edition) SHIFT + F5 – der Browserinhalt wird neu geladen.

$wshell=New-Object -ComObject wscript.shell;
$wshell.AppActivate('Firefox Developer Edition'); # Aktiviere Firefox Develope Edition 
$wshell.SendKeys('^{F5}'); # Refresh The Browser
Write-Host "Firefox aktualisiert"

Was soll jetzt aber der Vorteil sein? Nun, sicher ist es kein Vorteil, ein Powershell-Script aufzurufen, statt in den Browser zu wechseln. Der Aufwand wäre sogar größer. Aber man kann dieses Script in seine Arbeitsumgebung als externes Tool einbauen und mit einem Shortcut versehen. UltraEdit oder die IDEs von JetBrains bieten dafür einfache Schnittstellen. Ich schreibe meinen Code mit PHPStorm und da sieht das dann so aus:Browser Reload mit phpStorm

Program: powershell.exe

Arguments: Der Pfad zu dem oben beschriebenen PowershellScript

Working Directory : Der Pfad zur powershell.exe, falls dieser nicht bereits in der PATH Variable des Systems integriert ist.

Man kann dieses Script natürlich auch als Shortcut auf einem Desktop abrufen, ohne eine Umgebung zu nutzen. Nachteil dabei ist, dass sie den Konsolenoutput nicht umleiten oder unterdrücken können – es öffnet sich immer ein Powershell-Terminal.

Die Arbeitserleichterung liegt darin, dieses Script mit einem Shortcut zu versehen oder – vielleicht sogar noch besser – über ein Makro in der Entwicklungsumgebung mit dem Speichervorgang zu verknüpfen. Jedes Mal, wenn eine Seite oder eine Datei gespeichert wird, wird auch der Browser neu geladen. Noch besser: natürlich können Sie das Script erweitern und gleich mehrere verschiedene Browser refreshen. Das kann wichtig sein, wenn Sie Anwendungen entwickeln, die zuverlässig in mehreren Browsern laufen sollen.