2013-01-10 15 views
5

d3.js डेवलपर ब्राउज़र के साथ कैसे व्यवहार करते हैं जो svg को प्रस्तुत करने में सक्षम नहीं है? मैं बहुत उत्सुक हूं क्योंकि इंटरनेट एक्सप्लोरर 9, 8, 7 आदि दुनिया के बड़े प्रमुख हिस्सों में एक विशाल बहुमत बाजार हिस्सेदारी है, फिर भी ऐसा लगता है कि ऐसा कोई सक्रिय d3.js समुदाय है जैसे इंटरनेट एक्सप्लोरर मौजूद नहीं है।d3.js गैर-svg ब्राउज़र से निपटने

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

मैंने देखा है न्यूयॉर्क टाइम्स वैकल्पिक जेपीजी इंफ़ोग्राफ़िक्स प्रदान विशिष्ट ब्राउज़र

मैं भी कुछ चीजें हैं जो एक डी 3 svg सर्वर साइड प्रस्तुत करना करना है देखा है पता चला रहे हैं, और एक गतिशील रूप से उत्पन्न छवि प्रदर्शित।

लेकिन स्वीकृत प्रथाओं और विकल्पों क्या हैं? मुझे लगता है कि यह डी 3 होमपेज के शीर्ष पर होना चाहिए

आप इससे कैसे निपटते हैं?

+0

विकल्प और स्वीकृत प्रथाएं आपके विशेष परिदृश्य पर निर्भर करती हैं। उदाहरण के लिए आप एसवीजी के बजाय कैनवास का उपयोग कर सकते हैं, लेकिन फिर आपको आईई समर्थन नहीं मिलता है। इसे एक छवि में पूर्व-प्रतिपादन करना शायद सबसे मजबूत है, लेकिन आपको बहुत लचीलापन नहीं देता है। –

+0

धन्यवाद, @LarsKotthoff मुझे पता है कि इस साइट के लिए सवाल बहुत ही व्यक्तिपरक शब्द हो सकता है लेकिन मुझे कुछ महान जवाब मिल गए – CQM

उत्तर

6

आम तौर पर आप इस काम को बनाने के लिए Raphael जैसे एक मजबूत पॉलीफिल का उपयोग कर सकते हैं, लेकिन आपको अपनी आस्तीन को थोड़ा सा रोल करना होगा। इन लाइनों के साथ इसे और अधिक निर्बाध बनाने के लिए कुछ परियोजनाएं शुरू हुई हैं, लेकिन बॉक्स के बाहर उपयोग करने के लिए कोई भी 100% तैयार नहीं है जैसा कि मैं समझता हूं।

कुछ उदाहरण:

1

डी 3 तरह वे जावास्क्रिप्ट कोड लिखा में कुछ दूरंदेशी चुनाव किए। यह अपने जावास्क्रिप्ट प्रोसेसिंग के लिए हाल ही में ईसीएमएस्क्रिप्ट विधियों पर निर्भर करता है, जैसे Array.forEach(), और पुराने आईई की आरजीबीए या हेक्स समर्थन (अन्य सुविधाओं के बीच) की कमी की क्षतिपूर्ति नहीं करता है। मैं यह नहीं कहना चाहता कि यह "आसान" या "सरल" है, लेकिन सतह पर ऐसा लगता है कि पुराने-आईई समर्थन को D3.js में जोड़ना संभव है - बिना किसी परेशानी के।