2012-03-09 7 views
5

प्रतिपादन करते समय फ़ायरफ़ॉक्स में सहिष्णुता (या सख्तता सक्षम करें) अक्षम करें खराब HTML को प्रस्तुत करते समय फ़ायरफ़ॉक्स की एक निश्चित सहनशीलता है। इसका मतलब है कि अगर एक बंद टैग छोड़ दिया गया है, तो HTML प्रदर्शित होगा जैसे सब कुछ ठीक था। यह सहिष्णुता पहलू विशेष रूप से प्रासंगिक होता है जब कोई वर्तमान पृष्ठ में सामग्री को कुशल बनाने या जोड़ने के लिए जावास्क्रिप्ट का उपयोग कर रहा है।एचटीएमएल

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

अब सवाल यह है कि क्या फ़ायरफ़ॉक्स को स्वीकार किए गए HTML के बारे में अधिक सख्त होने और इसके लिए "एक फिक्स अनुमान लगाने" के बजाय असफल होने का कोई तरीका है (विशेष रूप से जब HTML को जावास्क्रिप्ट के माध्यम से जोड़ा जा रहा है)?

पीएस: मैंने डॉक्टरेट के साथ खेलने की कोशिश की है लेकिन परिणाम समान थे।

+1

मुझे लगता है कि फ़ायरफ़ॉक्स केवल XTHML (सही कार्यप्रणाली के साथ) के लिए सख्त है – Aprillion

+0

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

+0

@Mrlister इस पर काम करेगा और – Unode

उत्तर

1

सभी पार्सर्स कुछ डिग्री के लिए क्षमा कर रहे हैं। अधिकांश मुख्यधारा साइटों में त्रुटियां होती हैं (यह नहीं कि इससे यह बहाना आसान हो जाता है)। यदि आप एक डीबगर संलग्न के साथ विकसित करते हैं, तो आप स्क्रिप्ट त्रुटियों को और अधिक तेज़ी से पकड़ लेंगे। मैं अपनी बिल्ड प्रक्रिया में एक मिनीफायर का उपयोग कर स्क्रिप्ट त्रुटियों को भी पकड़ता हूं (जो प्रमुख वाक्यविन्यास मुद्दों पर असफल हो जाएगा)। मैं विजुअल स्टूडियो 2010 की रीयल-टाइम चेतावनियों (जो हमेशा सही नहीं होते) का उपयोग करके मेरे एचटीएमएल मार्कअप को वैध करता है और समय-समय पर डब्ल्यू 3 सत्यापनकर्ता सेवा का उपयोग करता है।

ब्राउज़र विकल्प के लिए, मैं आमतौर पर बोर्ड भर में विकसित होता हूं; एक बैठे में मैं सचमुच आईई 7/8/9 मोड, क्रोम और फ़ायरफ़ॉक्स के बीच स्विच कर सकता हूं। सफारी और ओपेरा आमतौर पर काम करते हैं यदि उपर्युक्त ब्राउज़र शामिल हैं। इस तरह मैं एक गलत रास्ते से बहुत दूर नहीं मिलता है।

बीटीडब्ल्यू, DOCTYPE महत्वपूर्ण है (भले ही यह हमेशा ऐसा नहीं लगता है)।

+0

जावास्क्रिप्ट में एकत्रित HTML को कैसे सत्यापित करते हैं? यह निष्पादन से पहले मौजूद नहीं है ... – Unode

+0

@Unode - अच्छा सवाल। मैं बड़े पैमाने पर एक फ्रेमवर्क (जैसे jQuery) पर भरोसा करता हूं ताकि अच्छी तरह से गठित मार्कअप बनाया जा सके (हालांकि यह अभी भी अमान्य हो सकता है, उदाहरण के लिए अवैध रूप से घोंसला वाले टैग)। यदि मैं बड़ी मात्रा में मार्कअप उत्पन्न कर रहा था, तो ब्राउज़र को प्रारूपित/पुन: कार्य करने से पहले मैं इसे कंसोल विंडो में कच्चे कर दूंगा। इसके बाद मैं इसका निरीक्षण करता हूं या इसे एक वैधकर्ता में पेस्ट करता हूं। अब जब आप इसका जिक्र करते हैं, तो ऐसा करने का एक और शानदार तरीका अच्छा होगा। –

+0

@ फ़ायरफ़ॉक्स में यूनेड, सभी का चयन करें, + "चयन स्रोत दिखाएं" राइट-क्लिक करें जेनरेट की गई सामग्री दिखाएगा! –

1

मुझे पता चला है कि आईई में बस अपना ब्रेक करना और अपना प्राथमिक काम करना सबसे अच्छा है।

आप एक अच्छे doctype का उपयोग करते हैं (<! DOCTYPE html >) और IE8 मोड के लिए X-UA- संगत हेडर निर्धारित करते हैं, अतिरिक्त काम यदि आप किसी एप्लिकेशन काम करने के लिए क्या करना है/अन्य ब्राउज़र में अच्छे लग रहे हैं कम से कम है ।

+0

मुख्य रूप से आईई के साथ काम करना एक कठिन समाधान है क्योंकि विंडोज विकास पर्यावरण नहीं है।मैं एक्स-यू-संगत हेडर से परिचित नहीं था, काले जादू की तरह लगता है :) – Unode

2

अपने एचटीएमएल की जांच के लिए ब्राउज़र का उपयोग न करें; वे ऐसा करने के लिए बहुत अधिक डिजाइन नहीं किए गए हैं। the W3C's validator जैसे वास्तविक सत्यापनकर्ता का उपयोग करें। वहां appear to be फ़ायरफ़ॉक्स एक्सटेंशन के बहुत सारे हैं जो पृष्ठ को एक क्लिक या स्वचालित रूप से मान्य करेंगे, हालांकि मैं उनसे परिचित नहीं हूं क्योंकि मैं फ़ायरफ़ॉक्स का उपयोग अपने प्राथमिक ब्राउज़र के रूप में नहीं करता हूं।

+0

यहां तक ​​कि नोटपैड ++ के लिए प्लगइन भी हैं, उदा। TextFX> 'TextFX HTML Tidy' – Aprillion

+0

HTML VALIDATOR http://users.skynet.be/mgueury/mozilla/ एक अच्छा वैधकर्ता – Variant

+0

समस्या है, यदि HTML जावास्क्रिप्ट के साथ छेड़छाड़ की गई है, तो" स्रोत कोड "अब नहीं है फ्लैट फ़ाइल और ब्राउजर में डीओएम का हिस्सा है। इस मामले में सहिष्णुता पहले से ही हुई है और किसी भी ब्राउज़र सत्यापन के बाद जावास्क्रिप्ट त्रुटियों की पहचान करने में विफल रहेगा। मैं विस्तारित @Variant का उपयोग करता हूं और इसमें "जावास्क्रिप्ट मैनिपुलेशन के बाद मान्य" है, लेकिन यह केवल त्रुटियों का सबसेट ढूंढ सकता है जो कुछ स्थितियों में अपर्याप्त पाया गया था। – Unode