2014-09-04 7 views
7

मैं वाडिन में अपने पृष्ठों के फेविकॉन कैसे बदल सकता हूं? मैं अपने पृष्ठों के फेविकॉन को बदलना चाहता हूं लेकिन मुझे नहीं पता कि इसे बदलने का स्थान कहां है? क्या किसी ने इसका अनुभव किया है?/WebContent/VAADIN/विषयों/mynewthemeवाडिन: फेविकॉन कैसे बदलें?

, तो फिर इस निर्देशिका में अपने कस्टम favicon.ico डाल:

उत्तर

9

सबसे पहले, एक विषय निर्देशिका बनाने। तुम भी अपने आवेदन में विषय संपत्ति निर्धारित करने की आवश्यकता:

public class MyNewApplication extends Application { 

    @Override 
    public void init() { 
     ... 
     ... 
     setTheme("mynewtheme"); 
    } 
} 
+1

Vaadin 7: @Theme ("mynewtheme") सार्वजनिक वर्ग MyUI ** फ़ेविकॉन के बजाय यूआई {... – Krayo

+0

फैली मेरी आइकन नाम ** custom.ico है ** .ico **, क्या यह काम करेगा? – Cataclysm

+2

बहुत अजीब ... मेरे पास मेरी यूआई कक्षा पर @Theme ("mytheme") एनोटेशन है लेकिन मुझे favicon को बदलने के लिए setTheme ("mytheme") को कॉल करना है ... – shinchillahh

4

कस्टम आइकन नाम के मामले में (Vaadin 7):

public class MyServlet extends VaadinServlet implements SessionInitListener { 

    @Override 
    protected void servletInitialized() throws ServletException { 
     super.servletInitialized(); 
     getService().addSessionInitListener(this); 
    } 

    @Override 
    public void sessionInit(SessionInitEvent event) throws ServiceException { 
     event.getSession().addBootstrapListener(new BootstrapListener() { 

      @Override 
      public void modifyBootstrapPage(BootstrapPageResponse response) { 
       response.getDocument().head() 
        .getElementsByAttributeValue("rel", "shortcut icon") 
        .attr("href", "./VAADIN/themes/mynewtheme/custom.ico"); 
       response.getDocument().head() 
        .getElementsByAttributeValue("rel", "icon") 
        .attr("href", "./VAADIN/themes/mynewtheme/custom.ico"); 
      } 

      @Override 
      public void modifyBootstrapFragment(BootstrapFragmentResponse response) { 
      } 

     }); 
    } 

} 

संपादित

यह BootstrapListener उपयोग करने के लिए बेहतर है एक स्थिर नेस्टेड वर्ग के रूप में: link

+0

मैं इस उत्तर की सराहना करता हूं, लेकिन: मैंने इसे लागू किया मेरे प्रोजेक्ट के साथ '.../favicon.png")। attr ("type", "image/png"); 'और मेरे ब्राउज़र के टैब में फेविकॉन के रूप में कुछ भी नहीं दिखाया गया है। अगर मैं नए लागू/अक्षम भी नहीं करता हूं वाडिन का डिफ़ॉल्ट फेविकॉन अब प्रदर्शित होता है। (V7.5.0.rc1) –

+0

अच्छा, यह मजाकिया है। मैंने अभी पाया है कि सही फेविकॉन एफएफ के इतिहास में प्रदर्शित होता है। यह पृष्ठ के टैब में अभी भी प्रदर्शित नहीं होता है। –

+1

@GeroldBroser हाल के संस्करण वेब ब्राउज़र के फेविकॉन का उपयोग बदल रहे हैं। कुछ ब्राउज़र एक टैब में फेविकॉन प्रदर्शित करते हैं, कुछ नहीं करते हैं। कुछ यूआरएल एड्रेस बार में प्रदर्शित होते हैं, कुछ नहीं। कुछ बुकमार्क मेनू में प्रदर्शित होते हैं, कुछ नहीं करते हैं। –

6

यहांका एक और विस्तृत संस्करण है 210 ग्रेग बैलोट द्वारा पोस्ट किया गया। मेरा उत्तर यहां वैदिन 7 से संबंधित है, जो 7.5.3 के रूप में चालू है।

कस्टम थीम

Vaadin 7,5 में, आप your own custom theme में अपने फ़ेविकॉन ग्राफिक्स छवि फ़ाइल ड्रॉप कर सकते हैं। यदि विभिन्न IDEs (NetBeans, Eclipse) या Maven archetypes के लिए वैडिन प्लगइन का उपयोग करना है, तो mytheme नामक एक कस्टम थीम आपके लिए पहले से ही बनाई जानी चाहिए। अपनी छवि फ़ाइल को उस mytheme फ़ोल्डर में छोड़ दें।

UI के आपके उप-वर्ग, आपके वाडिन 7 ऐप का मुख्य भाग निर्दिष्ट करना चाहिए कि यह आपकी कस्टम थीम का उपयोग करता है। फिर, यदि आईडीई प्लगइन्स और/या मेवेन आर्केटाइप का उपयोग करते हैं, तो यह आपके लिए पहले ही कॉन्फ़िगर किया जाना चाहिए था। UI सबक्लास पर जावा एनोटेशन का सबसे आसान तरीका है।

@Theme ("mytheme") // Tell Vaadin to apply your custom theme, usually a subclass of the Valo or Reindeer theme. 
@Title ("PowerWrangler") // Statically specify the title to appear in web browser window/tab. 
@SuppressWarnings ("serial") // If not serializing such as "sticky sessions" and such, disable compiler warnings about serialization. 
@Push (PushMode.AUTOMATIC) // If using Push technology. 
public class MyVaadinUI extends UI 
{ 
… 

फ़ेविकॉन प्रयोग/व्यवहार स्टैंडर्ड

याद रखें कि फ़ेविकॉन व्यवहार मानकीकृत नहीं है नहीं। फेविकॉन ने मजाक की भावना से अधिक खतरनाक रूप से विकसित किया। सटीक व्यवहार विशेष ब्राउज़र और विशेष सर्वर पर निर्भर करता है। विशेष फ़ोल्डर स्थान के अलावा, इनमें से कोई भी वाडिन के लिए विशेष नहीं है।

छवि फ़ाइल स्वरूपों

मूलतः ICO file format विशेष रूप से इस्तेमाल किया गया था। तब से अधिकांश ब्राउज़रों ने JPEG, TIFF, और PNG सहित कई प्रारूपों को स्वीकार करने के लिए विकसित किया है।

छवि का आकार/संकल्प

मूलतः पसंदीदा आइकन बहुत छोटा बिटमैप प्रतीक होने के लिए लक्षित कर रहे थे। कुछ ब्राउज़रों ने परिस्थितियों में फेविकॉन के विभिन्न उपयोग किए हैं जहां आप एक उच्च-रिज़ॉल्यूशन छवि प्रदान करना चाह सकते हैं। लेकिन याद रखें कि छोटे उपयोगकर्ता आपके उपयोगकर्ताओं को प्रतीक्षा किए बिना तेज़ी से लोड करते हैं।

फ़ेविकॉन फ़ाइल नाम

कुछ ब्राउज़र या सर्वर अन्य फ़ाइल नाम या नाम एक्सटेंशन संभाल सकता है, लेकिन मैं इसे सबसे आसान पाया है मेरी फाइल नाम के लिए बिल्कुल favicon.ico - यहां तक ​​कि एक अलग प्रारूप का उपयोग करता है, तो!मैं आमतौर पर एक पीएनजी फ़ाइल का उपयोग करता हूं लेकिन इसे .ico एक्सटेंशन के साथ नामित करता हूं। हालांकि मैं इस अभ्यास की गारंटी नहीं दे सकता कि हर एक सर्वर और ब्राउज़र काम करता है, मुझे किसी भी समस्या का सामना नहीं हुआ है।

मौजूदा फ़ेविकॉन फ़ाइल

Vaadin के हाल के संस्करणों कॉन्फ़िगर परियोजना में एक favicon.ico फ़ाइल में एक Vaadin से संबंधित आइकन शामिल किया है। तो आपको उस फाइल को अपने आप से बदलना होगा। ताकि आप अपने में गिरावट

Vaadin logo favicon provided by default in a configured project

पुराने संस्करणों, एक फाइल में नहीं जोड़ा था: Vaadin 7.5.3 में फ़ाइल चार आकार, सबसे बड़ी इस तरह देख सकते हैं।

आईडीई स्क्रीन शॉट्स

यहां स्क्रीन शॉट्स की एक जोड़ी है। एक NetBeans 8 में प्रोजेक्ट (तार्किक) दृश्य है, जबकि दूसरा एक फाइल (भौतिक) दृश्य है।

Project view of a favicon’s location, using NetBeans 8

File system view of a favicon’s location, using NetBeans 8

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