Jak powiedział Iain Fraser, klasa Favicon z controlstyle.com nie działa ze wszystkimi przypadku testowego.
Zasadniczo, jeśli pod warunkiem, ikona tag <link>
skrót mogą zawierać różne rodzaje URL:
- pełny absolutny URL:
http://www.domain.com/images/fav.ico
- absolutny URL ze względnym schematem:
//www.domain.com/images/fav.ico
- ścieżka bezwzględna:
/images/fav.ico
- względny adres URL:
../images/fav.ico
Ponadto, strona internetowa może zawierać atrybut <base href="..." />
które zmienia jak radzić sobie z względny adres URL i absoute ścieżce ...
Więc pisałem klasa PHP, który działa z każdym z tych przypadków. Po pierwsze, próbuje uzyskać adres URL favicon z atrybutu <link>
i przywrócić domyślny identyfikator URI favicon (//www.domena.com/favicon.ico) w przypadku niepowodzenia.
Możesz go pobrać na mojej stronie tutaj: http://www.finalclap.com/faq/477-php-favicon-find-download lub zainstalować za pomocą kompozytora: composer require vincepare/favicon-downloader
.
Jak używać:
<?php
require 'FaviconDownloader.class.php';
$favicon = new FaviconDownloader('http://stackoverflow.com/questions/19503326/bug-with-chrome-tabs-create-in-a-loop');
if($favicon->icoExists){
echo "Favicon found : ".$favicon->icoUrl."\n";
// Saving favicon to file
$filename = 'favicon-'.time().'.'.$favicon->icoType;
file_put_contents($filename, $favicon->icoData);
echo "Saved to ".$filename."\n\n";
} else {
echo "No favicon for ".$favicon->url."\n\n";
}
?>
, który jest jak pisanie siebie: www.domain.com/favicon.ico. Sprawdziłem i to jest to samo .. – vsync
Niezupełnie - po pierwsze zwraca png, a nie ico. Po drugie, favicony mogą znajdować się w niezliczonej ilości ścieżek - to je standaryzuje i zostawia pracę Google. Wreszcie, jeśli favicon nie zostanie znaleziony, zwraca obraz zastępczy zamiast lądowania z uszkodzonym obrazem. – Mala
Ale tak jak w przypadku wszystkich centralnych rozwiązań: pamiętaj, że Google może teraz połączyć Cię z tą garstką adresów URL. Jeśli ci to nie przeszkadza, to wygląda dobrze. –