2016-08-15 14 views
7

वहाँ स्क्रिप्ट के लिए एक रास्ता एक सीएसएस लेखा परीक्षा है? मुझे बस फ़ाइल-स्तर की जानकारी चाहिए, व्यक्तिगत नियम नहीं। इसलिए हो सकता है सेलेनियम की तरह कुछ मदद कर सकता है पृष्ठ वास्तव में सटीक जानकारी प्राप्त करने के लिए प्रस्तुत करने के लिए ... है की तरह लगता है?एक सीएसएस फ़ाइल का उपयोग किया गया है या नहीं

मैंने देखा है सीएसएस फ़ाइलें ऑडिट करने के लिए ब्राउज़र प्लग इन (जैसे इस StackOverflow question, इस A List Apart article), लेकिन मैन्युअल रूप से समीक्षा कर परिणाम हर पृष्ठ के लिए बहुत लंबा

पृष्ठभूमि

से अधिक

ले जाएगा देखते हैं कि सालों, विभिन्न सीएसएस फाइलों ने हमारे वेब ऐप के टेम्पलेट हेडर में क्रिप्ट की है। यह एक बड़ी दर्द एक तत्व है जब वहाँ कई व्यवस्थाएं, प्लग इन, आदि सभी वर्चस्व के लिए लड़ने से ओवरलैपिंग नियम हैं शैली की कोशिश कर रहा है।

समेकित/मानकीकृत करने के प्रयास के हिस्से के रूप में, मैं साइट टेम्पलेट से और व्यक्तिगत पृष्ठ शीर्षकों में पुराने संदर्भों को स्थानांतरित करना चाहता हूं, इसलिए सीएसएस नियमों के प्रभाव केवल उन्हीं तक सीमित रहेंगे जहां उनका उपयोग किया जाता है/जरूरत है।

मैं सोच रहा हूँ सबसे आसान काम साइट को क्रॉल और ट्रैक जो सीएसएस स्टाइलशीट जहां इस्तेमाल कर रहे हैं करने के लिए किया जाएगा।

अद्यतन

अनैच्छिक नियम मैचों संभव हो रहे हैं, इसलिए मुझे लगता है कि मैं स्क्रिप्ट इस नहीं कर सकते हैं शुरू कर रहा हूँ। हमें शायद पृष्ठ-दर-पृष्ठ जाना होगा। फिर भी, कुछ पृष्ठों की स्टाइल विरोधी स्टाइलशीट के अजीब छेड़छाड़ पर भरोसा कर सकती है: -/

इसके अलावा, मैं इन स्थिर सीएसएस चेकर्स, विशेष रूप से टेम्पलेट फ़ाइलों के साथ संदेह कर रहा हूं। नियम ul > li.special कुछ भी मेल नहीं खा सकते जब तक क्रम

+0

[PurifyCSS] (https://github.com/purifycss/purifycss) के बारे में क्या? ऐसा लगता है कि इसका उपयोग वेब-स्क्रैपर और/या सेलेनियम-संचालित स्क्रिप्ट के संयोजन में किया जा सकता है। – raina77ow

+0

[grunt-uncss] (https://github.com/addyosmani/grunt-uncss) आपके विकास स्टैक के आधार पर भी एक विकल्प हो सकता है। – hungerstar

+0

समस्या यह है कि PurifyCSS और uncss जो चाहते हैं उसके विपरीत करते हैं ... मुझे किसी दिए गए पृष्ठ के लिए अप्रयुक्त (या प्रयुक्त) स्टाइलशीट की पहचान करने की आवश्यकता है, इसलिए वे –

उत्तर

0

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

प्रत्येक फ़ाइल में

UNIQUE_RULE::after { 
    content: ' '; 
    background: url(/track/?page=filename.css); 
} 

नोट जोड़ें: मैं अद्वितीय नियम का उपयोग कर उल्लेख किया है, क्योंकि इस दृष्टिकोण आप ओवरराइड जाँच नहीं देता।

ब्राउज़र केवल टैग के लिए पृष्ठभूमि छवियों को लोड करता है, जो डोम पेड़ में मौजूद है। इस फ़ाइल का उपयोग करने के लिए, आपको इसके नियमों का उपयोग करने की आवश्यकता है। तो फिर आप की आवश्यकता होगी अपने पृष्ठों के सभी के माध्यम से "क्लिक" करने के लिए Selenium (या इसके विकल्प) स्थापित करने के लिए है।

के बाद अपने परीक्षण चलना समाप्त कर दिया, तुम बस अपनी पहुँच लॉग के माध्यम से grep और लापता/track/ फ़ाइल अनुरोधों के लिए लग रही है। और आप प्रत्येक व्यक्तिगत सीएसएस नियम (प्रत्येक नियम में ::after{ .. } जोड़ने के लिए स्क्रिप्ट बनाकर) सेलेनियम सेटअप में कोई बदलाव नहीं करने के लिए इस दृष्टिकोण का उपयोग कर सकते हैं।

इसे कुछ समय निवेश की आवश्यकता होगी, लेकिन, जब आप इसे सेट अप करते हैं, तो इसका पुन: उपयोग करना संभव होगा।

कोई सुरुचिपूर्ण समाधान नहीं है, लेकिन व्यावहारिक है।

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

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