Frage

Ich frage mich, ob es möglich ist, eine Website Favicon von einer URL mit JavaScript zu bekommen.

Zum Beispiel habe ich eine URL http://www.bbc.co.uk/ und ich mag Pfad zu Favicon in <link rel="icon" .../> Meta-Tag beschrieben bekommen -. http://www.bbc.co.uk/favicon.ico

Ich habe viele URLs, so dass nicht jede Seite geladen werden soll und die Suche nach link Tag denke ich.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Sie könnten YQL verwenden für die

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D"http://bbc.co.uk/"and%20xpath%3D"/html/head/link[@rel%3D'icon']%20|%20/html/head/link[@rel%3D'ICON']%20|%20/html/head/link[@rel%3D'shortcut%20icon']%20|%20/html/head/link[@rel%3D'SHORTCUT%20ICON']"&format=json&callback=grab

Diese Abfrage verwendet von Anzeige-Feed Favicons Greasemonkey-Skript .

Sie können Abfragen in YQL Konsole schreiben, aber es erfordert Login (btw, Abfragen mit nicht):

http://developer.yahoo.com/yql/console/#h=select%20*%20from%20html%20where%20url%3D%22http%3A//bbc.co.uk/%22and%20xpath%3D%22/html/head/link%5B@rel%3D%27icon%27%5D%20%7C%20/html/head/link%5B@rel%3D%27ICON%27%5D%20%7C%20/html/head/link%5B@rel%3D%27shortcut%20icon%27%5D%20%7C%20/html/head/link%5B@rel%3D%27SHORTCUT%20ICON%27%5D%22

Es ist besser als http://www.google.com/s2/favicons?domain=www.domain.com , falls Favicon existiert, aber sich nicht in domain.com/favicon.ico

Andere Tipps

Hier sind 2 Arbeitsmöglichkeiten, testete ich über 100 Urls und bekam unterschiedliche Ergebnisse, die jede Option. Bitte beachten Sie, ist diese Lösung nicht JS, aber JS nicht notwendig sein.

<!-- Free --> 
<img height="16" width="16" src='http://www.google.com/s2/favicons?domain=www.edocuments.co.uk' />
<!-- Paid -->
<img height="16" width="16" src='http://grabicon.com/edocuments.co.uk' />

Auf einmal fand ich etwas namens Google Shared Stuff, dass die Renditen Bild mit Favicon Webseite von Host-Namen:

http://www.google.com/s2/favicons?domain=www.domain.com

Aber fot BBC-Website gibt es Favicon ein bisschen klein. Vergleichen Sie:

http://www.google.com/s2/ Favicons? domain = www.bbc.co.uk
http://www.bbc.co.uk/favicon.ico

Nach 30,000-40,000 Tests bemerkte ich, dass Sie wirklich viele verschiedene Situationen, in denen die gegen bearbeitet werden müssen.

Der Ausgangspunkt ist natürlich irgendwo nur Blick auf die rel Tag dort und holen diese, aber auf dem Weg werden Sie immer mehr Situationen finden Sie Abdeckung haben.

Falls jemand wird auf diesem Thread suchen und versucht näher an 100% Perfektion kommen ich meinen (PHP) Code hier hochgeladen: https://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php . Dies ist Teil einer (GPL) Word Plugin, den abruft Favicons, mehr oder weniger auf Anfrage damals von Einschränkungen des Standard Google eines (wie oben erwähnt). Der Code findet eine wesentlich Symbole betragen, dass der Code von Google. Sondern auch Google und andere als Bildanbieter weitere Iterationen Verknüpfung zu versuchen, das Symbol abzurufen.

Wenn Sie durch den Code lesen, werden Sie wahrscheinlich einige Situationen sehen, dass Sie zum Beispiel begegnen base64 Daten uris, Umleitung Seiten auf 404 Seiten oder eine Unmenge mal Umleitung, seltsam HTTP-Statuscodes abrufen und alle möglichen HTTP-Return-Code für validness zu überprüfen hat, wobei die Symbole selbst, die einen falschen Mime-Typ, Client-Seite Refresh-Tags, Symbole in der Stammordner und kein in dem hTML-Code, etc ... etc ... etc ...

Wenn Sie ein Verzeichnis nach oben werden Sie andere Klassen finden, die dann ment sind die tatsächlichen Symbole gegen ihre URL zu speichern (und natürlich Sie dann heraus benötigt, um herauszufinden, welche „Zweige“ die gleiche Favicon verwenden und welche nicht, und finden heraus, wenn sie gehören zum selben „Besitzer“ oder sind wirklich verschiedene Teile aber unter der gleichen Domäne.

Disclaimer: Ich baute diesen Service selbst, aber man kann versuchen, http://grabicon.com . Es ist eine sehr einfache API für Favicons, dass Griffe Ändern der Größe und Neuformatierung on the fly. Es verwendet eine Menge proaktiven Caching für Geschwindigkeit, wie gut. Wie die meisten anderen Dienstleistungen wie diese, können Sie dies direkt in Ihr HTML einfügen und es funktioniert super. Ich habe keine Online-Dokumentation haben nur noch, aber hier sind einige Beispiele jedermanns Lieblings-Ziel mit:

Den Icon im PNG-Format:

http://grabicon.com/icon?domain=microsoft.com

Resize auf 64 Pixel im Quadrat:

http://grabicon.com/icon?domain=microsoft.com&size=64

Diese Jagden auf der Ikone, die verschiedenen Methoden Menschen mit ihnen umsetzen kann, und verwendet die höchste Auflösung zur Verfügung, da favicon.ico Dateien enthalten tatsächlich eine Sammlung von Icons. Es verwendet diese Version zu Ihrer Präferenz, um die Größe, es sei denn, eine perfekte Ergänzung bereits verfügbar ist.

Lassen Sie mich wissen, was euch denken, und was andere Funktionen, die Sie mögen!

UPDATE:

Grabicon ist jetzt wieder in Betrieb, und es ist nicht überall. Es wurde ursprünglich für einen Kunden gebaut, die später beschlossen, es nicht zu unterstützen. Aber jetzt ist es unter meiner direkten Pflege, mit viel bessere Geschwindigkeit und Ändern der Größe Fähigkeit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top