BLog

ImprintImpressum
PrivacyDatenschutz
DisclaimerHaftung
Downloads 

Nachladen eines Safari-Shortcut-Icons unter macOS erzwingen

Web-Entwickler stolpern häufig über die diversen Fallstricke, die durch das Caching der Web-Browser ausgelegt werden. Einer dieser Fallstricke ist der Shortcut-Icon-Cache von Safari. Man hat also sein schönes neues favicon.ico auf seiner Webseite hinterlegt, und Safari weigert sich einfach dieses nachzuladen, so daß man u.U. einige Tage bis Wochen warten muß, bis das neue Icon in seinem vollen Glanze im Favoriten-Menü erscheint - nun, es sei denn man führt das folgende Shell-Script aus, welches im Cache vorhandene Icons einer Webseite selektiv entfernt, und man auf diese Weise das Nachladen neuer Icons durch Safari erzwingen kann.

Das folgende Script speichert man unter ~/bin/rmfavicon.sh ab:

#!/bin/sh

/usr/bin/sqlite3 "$HOME/Library/Safari/Favicon Cache/favicons.db" "DELETE FROM rejected_resources WHERE page_url like '%$1%';"
uuidlist=`/usr/bin/sqlite3 -list "$HOME/Library/Safari/Favicon Cache/favicons.db" "SELECT DISTINCT uuid FROM icon_info WHERE url like '%$1%' ORDER BY uuid;"`

for uuid in $uuidlist ; do
   /bin/rm -f "$HOME/Library/Safari/Favicon Cache/favicons/$(/sbin/md5 -qs $uuid | /usr/bin/tr '[:lower:]' '[:upper:]')"
   /usr/bin/sqlite3 "$HOME/Library/Safari/Favicon Cache/favicons.db" "DELETE FROM page_url WHERE uuid like '$uuid';"
   /usr/bin/sqlite3 "$HOME/Library/Safari/Favicon Cache/favicons.db" "DELETE FROM icon_info WHERE uuid like '$uuid';"
done

Mit dem folgenden Kommando macht man das Script ausführbar:

chmod +x ~/bin/rmfavicon.sh

Um nun ein Shortcut-Icon einer Webseite von z.B. www.example.com aus dem Safari-Cache zu entfernen, setzt man im Terminal einfach das folgende Kommando ab:

~/bin/rmfavicon.sh www.example.com

Danach startet man am besten den Computer neu.

Copyright © Dr. Rolf Jansen - 2018-11-15 20:57:49

PROMOTION