2011-02-25 7 views
68

सरल पर्याप्त प्रश्न: मैंने एक छोटा ऐप बनाया है जो मूल रूप से सिर्फ एक पसंदीदा है जो मेरे सिस्टम ट्रे में बैठता है ताकि मैं एक ही स्थान से अक्सर उपयोग की जाने वाली साइट/फ़ोल्डर्स/फाइलें खोल सकूं। ज्ञात फ़ाइल प्रकारों के लिए मेरे सिस्टम से डिफ़ॉल्ट आइकन प्राप्त करना बहुत जटिल नहीं है, लेकिन मुझे नहीं पता कि वेबसाइट से फेविकॉन कैसे प्राप्त करें। (उदाहरण के लिए पता बार में ग्रे-> नारंगी स्टैक आइकन है)मैं एक वेब साइट के फेविकॉन कैसे प्राप्त कर सकता हूं?

क्या कोई जानता है कि मैं इसके बारे में कैसे जा सकता हूं?

उत्तर

154

आप इस के लिए कुछ तरीके से निपटने के लिए चाहता हूँ: डोमेन की जड़ में favicon.ico के लिए

  1. देखो rel="shortcut icon" के साथ एक <link> टैग के लिए

    www.domain.com/favicon.ico

  2. देखो विशेषता

    <link rel="shortcut icon" href="/favicon.ico" />

    rel="icon" के साथ एक <link> टैग के लिए
  3. देखो विशेषता

    <link rel="icon" href="/favicon.png" />

बाद के दो आम तौर पर एक उच्च गुणवत्ता छवि निकलेगा।

<link rel="apple-touch-icon" href="images/touch.png" />

:


बस अड्डों के सभी को कवर करने के लिए, वहाँ उपकरण विशिष्ट आइकन फ़ाइलों है कि उच्च गुणवत्ता वाले चित्रों उपज सकता है, क्योंकि इन उपकरणों आमतौर पर एक ब्राउज़र से डिवाइस पर बड़े आइकन की आवश्यकता होगी है

<link rel="apple-touch-icon-precomposed" href="images/touch.png" />


और देखभाल कौन सा आइकन आप औ उपयोग कर सकते हैं है बिना आइकन डाउनलोड करने के लिए http://www.google.com/s2/favicons तरह tility जो बड़े कार्य करने के सभी प्रक्रियाएं होंगी:

var client = new System.Net.WebClient(); 

client.DownloadFile(
    @"http://www.google.com/s2/favicons?domain=stackoverflow.com", 
    "stackoverflow.com.ico"); 

आशा है कि मदद करता है!

+1

क्या GetFavIcon अभी भी काम करता है? जब मैं आपका उदाहरण चलाता हूं तो मुझे 400 त्रुटि – Julien

+7

लगता है जैसे Google की एक समान सेवा है: http://www.google.com/s2/favicons?domain_url=stackoverflow.com – hunter

+5

यदि कोई Google के लिए विकल्प चाहता है, तो डकडकगो एक और समाधान: http://icons.duckduckgo.com/ip2/www.stackoverflow.com.ico –

5

साइट रूट में /favicon.ico की तलाश करने वाली पहली चीज़ है; WebClient.DownloadFile() जैसे कुछ ठीक करना चाहिए। हालांकि, आप मेटाडाटा में आइकन भी सेट कर सकते हैं - SO के लिए यह है:

<link rel="shortcut icon" 
    href="http://sstatic.net/stackoverflow/img/favicon.ico"> 

और ध्यान दें कि वैकल्पिक आइकन उपलब्ध हो सकते हैं; "स्पर्श" एक उदाहरण के लिए, बड़ा और उच्च रेस हो जाता है:

<link rel="apple-touch-icon" 
    href="http://sstatic.net/stackoverflow/img/apple-touch-icon.png"> 

ताकि आप उस पार्स हैं या तो HTML चपलता पैक या XmlDocument में (एक्सएचटीएमएल) और WebClient का उपयोग करें।

var favicon = "/favicon.ico"; 
var el=root.SelectSingleNode("/html/head/link[@rel='shortcut icon' and @href]"); 
if (el != null) favicon = el.Attributes["href"].Value; 

नोट आइकन, उनकी है तुम्हारा नहीं: DownloadFile()

यहाँ कुछ कोड मैं चपलता पैक के माध्यम से इस प्राप्त करने के लिए इस्तेमाल किया गया है।

+1

धन्यवाद मार्क। मैं उदाहरण की सराहना करता हूं। छवियों को लिखें, मैं उन्हें संशोधित करने का इरादा नहीं रखता या शॉर्टकट के लेबल के बगल में संदर्भ मेनू में आइकन के अलावा किसी अन्य चीज़ के लिए उनका उपयोग नहीं करता हूं। –

3

यो वेबसाइट के HTML से फेविकॉन यूआरएल प्राप्त कर सकते हैं।

<link rel="icon" type="image/png" href="/someimage.png" /> 

आप यहाँ रेगुलर एक्सप्रेशन का उपयोग करना चाहिए:

यहाँ फ़ेविकॉन टैग है। यदि कोई टैग नहीं मिला है, तो साइट रूट निर्देशिका में "favicon.ico" देखें। यदि कुछ भी नहीं मिला, तो साइट में फेविकॉन नहीं है।

2
 HttpWebRequest w = (HttpWebRequest)HttpWebRequest.Create("http://stackoverflow.com/favicon.ico"); 

     w.AllowAutoRedirect = true; 

     HttpWebResponse r = (HttpWebResponse)w.GetResponse(); 

     System.Drawing.Image ico; 
     using (Stream s = r.GetResponseStream()) 
     { 
      ico = System.Drawing.Image.FromStream(s); 
     } 

     ico.Save("favicon.ico"); 
10

यहां 2 विकल्प हैं, मैंने 100 से अधिक यूआरएल का परीक्षण किया और प्रत्येक विकल्प के अलग-अलग परिणाम प्राप्त किए। कृपया ध्यान दें, यह समाधान सी # नहीं है, लेकिन सी # आवश्यक नहीं हो सकता है।

<img height="16" width="16" src='http://grabicon.com/edocuments.co.uk' /> 

<img height="16" width="16" src='http://www.google.com/s2/favicons?domain=www.edocuments.co.uk' /> 
+3

grabicon.com अब $ 9/mo – janot

+1

से शुरू होने वाली सेवा का भुगतान कर रहा है एक और: http://favicon.allesedv.com/

1

यह देर से उत्तर है, लेकिन पूर्णता के लिए: सभी फेविकॉन लाने के 90% तक पहुंचना बहुत मुश्किल है।

कुछ समय पहले मैंने एक वर्डप्रेस प्लगइन लिखा था: http://wordpress.org/extend/plugins/wp-favicons/ जो करीब आने का प्रयास करता है।

ए। यह फेविकॉन रिपॉजिटरीज़ जैसे Google फेविकॉन, गेटफैविकॉन इत्यादि को देखकर शुरू होता है ...

बी। यदि उनमें से कोई भी आइकन वापस नहीं लौटाता है (मैं इसे वापस लौटाए गए डिफ़ॉल्ट आइकन से मेल करके जांचता हूं) मैं आइकन खुद को

सी प्राप्त करने का प्रयास करके शुरू करता हूं। इसमें पृष्ठों को घुमाने में शामिल है, लेकिन कोई ऑटोरॉरेक्ट के साथ रीडायरेक्ट की जांच भी नहीं है और 404 के ट्रैवर्सिंग के कारण भी है क्योंकि 404 के आइकन पर भी मौजूद हो सकता है। अंत में इसका मतलब है कि आपको एचटीएमएल हेडर में रीडायरेक्ट्स को पर्स करना होगा और जावास्क्रिप्ट रीडायरेक्ट 100%

डी के करीब पहुंचने के लिए होगा। उसके बाद मैं भौतिक छवि फ़ाइल पर कुछ निरीक्षण करता हूं, क्योंकि कभी-कभी कुछ सर्वरों पर भी (मैंने 300.000+ परीक्षण किया) फ़ाइलों को गलत माइम प्रकार आदि के साथ वापस लौटाया जाता है ..

कोड अभी भी सही नहीं है क्योंकि विवरण में पागल हो जाता है, आपको कई अजीब परिस्थितियां मिलेंगी: लोगों ने गलत तरीके से कोड किए हैं (img/favicon.ico जहां img रूट में नहीं है), एचटीएमएल आउटपुट में डुप्लिकेट हेडर, सिर और बॉडी आदि से अलग सर्वर प्रतिक्रियाएं ...

प्राप्त कर रहा है भाग के मूल यहाँ है: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php ताकि आप इसे इंजीनियर को बदलने लेकिन ध्यान रखें कि जवाब सत्यापित वास्तव में किया जाना चाहिए सकता है (जाँच छवि फ़ाइल प्रकार, माइम आदि ..)

2

प्रोग्रामिंग के बिना आप कर सकते हैं। बस उस साइट के HTML कोड को खोलने के लिए, वेब साइट खोलें, राइट-क्लिक करें और "स्रोत देखें" चुनें।तब "फ़ेविकॉन" के लिए पाठ संपादक तलाश में - यह आप कुछ करने के लिए प्रत्यक्ष की तरह

<link rel="icon" href='/SOMERELATIVEPATH/favicon.ico' type="image/x-icon" /> 

href में स्ट्रिंग लेने के लिए और वेब साइट की बुनियादी URL से संलग्न देख होगा (मान लेते हैं यह "http://WEBSITE/" है भी नहीं), तो ऐसा लगता है कि

http://WEBSITE/SOMERELATIVEPATH/favicon.ico

जो फेविकॉन का पूर्ण मार्ग है। अगर आपको यह तरीका नहीं मिला, तो यह रूट में भी हो सकता है जिस स्थिति में यूआरएल http://WEBSITE/favicon.ico है।

आप निर्धारित यूआरएल ले लो और निम्न कोड में डालने: (अपने डेस्कटॉप पर जैसे)

<html> 
    <head> 
    <title>Capture Favicon</title> 
    </head> 
    <body> 
    <a href='http://WEBSITE/SOMERELATIVEPATH/favicon.ico' alt="Favicon"/>Favicon</a> 
    </body> 
</html> 

सहेजें इस एचटीएमएल कोड के रूप में स्थानीय रूप से GetFavicon.html और फिर इसे खोलने के लिए उस पर डबल क्लिक करें। यह केवल फ़ेविकॉन नामक एक लिंक प्रदर्शित करेगा। इस लिंक पर राइट-क्लिक करें और अपने स्थानीय पीसी पर फेविकॉन को बचाने के लिए "लक्ष्य को सहेजें ..." चुनें - और आप कर चुके हैं! इस पृष्ठ के लिए

To retrieve a favicon you can hotlink it at... http://g.etfv.co/[URL]

उदाहरण::

0

आप Getfv.co उपयोग कर सकते हैं http://g.etfv.co/https://stackoverflow.com/questions/5119041/how-can-i-get-a-web-sites-favicon

डाउनलोड सामग्री और चलो चलते हैं!

संपादित करें:

Getfv.co और fvicon.com मृत लग रहे हो। यदि आप चाहते हैं कि मुझे एक गैर-मुक्त विकल्प मिले: grabicon.com

+1

लिंक मृत, त्रुटि: – tttony

+0

@tttony वास्तव में नहीं मिला। fvicon.com भी मृत दिखता है। मैं सशुल्क सामग्री के साथ अपनी टिप्पणी संपादित करूंगा। अगर आपको एक मुफ्त मुफ्त लिंक मिल जाए, तो कृपया इसे साझा करें! – aloisdg

1

मुझे पता चला है कि 'SHGetFileInfo' (हस्ताक्षर के लिए 'www.pinvoke.net' देखें) आपको एक छोटा या बड़ा आइकन पुनर्प्राप्त करने देता है, जैसे कि आप किसी फ़ाइल/फ़ोल्डर/शैल आइटम से निपट रहे थे ।

जेन्स;)

0

http://realfavicongenerator.net/favicon_checker?site=http://stackoverflow.com आप बताते हुए जो पसंदीदा आइकन क्या आकार में मौजूद हैं विश्लेषण फ़ेविकॉन देता है। आप पृष्ठ की जानकारी को संसाधित कर सकते हैं कि यह देखने के लिए कि कौन सा सर्वोत्तम गुणवत्ता फ़ेविकॉन है, और इसे प्राप्त करने के लिए यूआरएल में इसका फ़ाइल नाम संलग्न करें।

3

प्रत्येक पृष्ठ की ज़रूरतों की संख्या को कम करने के लिए यह एक अच्छा अभ्यास है। तो यदि आपको कई आइकनों की आवश्यकता है, तो yandex एक क्वेरी में फेविकॉन का एक स्प्राइट कर सकता है। यहां एक उदाहरण है http://favicon.yandex.net/favicon/google.com/stackoverflow.com/yandex.net/

+0

क्षमा करें, दुर्घटना से नीचे – Offirmo

संबंधित मुद्दे