2008-08-13 15 views
28

मुझे कुछ इंटरैक्टिव (डीओएम श्रोताओं आदि के साथ संलग्न करना और ईवेंट हैंडलिंग) वेब साइट पर वेक्टर ग्राफिक्स प्रदर्शित करने की ज़रूरत है, जिस पर मैं काम कर रहा हूं। एसवीजी के लिए डब्लू 3 सी सिफारिश है हालांकि इस प्रारूप को अभी भी इंटरनेट एक्सप्लोरर समर्थन द्वारा पहचाना नहीं गया है, जिसमें एक जरूरी है (एक सार्वजनिक वेबसाइट के लिए)। आईई वीएमएल को संभालता है और यहां तक ​​कि जावास्क्रिप्ट पुस्तकालय भी हैं जो ब्राउज़र (एसवीजी बनाम वीएमएल) - excanvas, GFX of Dojo Toolkit और अधिक के आधार पर कुछ कैनवास जैसी ड्राइंग करते हैं। यह अच्छा और स्वीकार्य होगा हालांकि उनमें से कोई भी दिए गए मार्कअप से एसवीजी छवि प्रदर्शित नहीं कर सकता है।ब्राउज़र में वेक्टर ग्राफिक्स प्रदर्शित करना

तो सवाल यह वास्तव में कई हिस्से होते हैं:

  1. वहाँ किसी भी पार ब्राउज़र जावास्क्रिप्ट लाइब्रेरियों डोम घटनाओं के लिए संलग्न करने के लिए दिए गए मार्कअप (अनिवार्य नहीं एसवीजी) और प्रस्ताव उपलब्धता से वेक्टर ग्राफिक्स प्रदर्शित कर रहे हैं?
  2. यदि नहीं हैं, तो सबसे अधिक ब्राउजर ब्राउज़र-एम्बेडेड तकनीकें कौन सा कार्य करने के लिए सबसे उपयुक्त होंगी? मैं फ्लेक्स/फ्लैश, जावा एप्लेट से चुन सकता हूं। सिल्वरलाइट विंडोज लॉक-इन के कारण एक विकल्प नहीं है।

[संपादित] आपकी टिप्पणियों/सुझावों के लिए आप सभी को धन्यवाद। नीचे बस कुछ मेरी यादृच्छिक नोट/निष्कर्ष इस मामले पर हैं:

  • अन्तरक्रियाशीलता मैं जरूरत के स्तर पर प्रदर्शित किया जा रहा वेक्टर छवि पर डोम घटनाओं पता लगाने की क्षमता है - mouseout, क्लिक करें माउसओवर, आदि - प्रतिक्रिया करने की क्षमता और उन पर पृष्ठभूमि रंग बदलने, संवाद प्रदर्शित करने आदि जैसे
  • एसवीजी प्रारूप के साथ चिपकने का विचार काफी लोकप्रिय है क्योंकि यह सबसे लोकप्रिय एक आईई को छोड़कर कई ब्राउज़रों पर मूल है। गतिशील एसवीजी प्रदर्शित करने के साथ कुछ प्रयोग करने के बाद मुझे एहसास हुआ कि आईई संस्करण 7 सबसे समस्याग्रस्त है। ब्राउज़र असंगतताओं के कारण बहुत परेशानी है।
  • केक एक महान जावास्क्रिप्ट ढांचा लगता है, हालांकि मुझे आईई 7 पर काम करने वाले उदाहरण नहीं मिल सका।
  • जावा एप्लेट्स - मुझे यह विचार पसंद आया क्योंकि मैं अपाचे बैटिक लाइब्रेरी, एक गुणवत्ता एसवीजी रेंडरर का उपयोग कर सकता था। हालांकि, बटिक बहुत बड़ी लाइब्रेरी है और मैं एक एप्लेट को तैनात करने का जोखिम नहीं उठा सकता जो वजन कम मेगाबाइट करता है।
  • मैंने फ्लेक्स विकल्प के साथ चिपकने का फैसला किया। मुझे एक अच्छा वेक्टर ग्राफिक्स लाइब्रेरी Degrafa मिली। यह अपने मार्कअप प्रारूप का उपयोग करता है हालांकि यह एसवीजी पथ नोटेशन को पहचानता है, इसलिए मेरे मामले में एक्सएसएलटी का उपयोग करके अपने एसवीजी को बदलने या बस उन्हें पार्स करने में काफी आसान होना होगा।

[संपादित करें 2] कुछ और टिप्पणियां दिखाई दीं। मैं यह स्पष्ट करना चाहता हूं कि "विंडोज लॉक-इन" से मेरा मतलब यह है कि सिल्वरलाइट आमतौर पर विंडोज़ पर चलाएगा, विशेष रूप से, आईई। मुझे संदेह है कि यह एक स्वीकार्य समाधान है (उदाहरण के लिए फ्लैश या जावा एप्लेट, उदाहरण के लिए) अन्य प्रणालियों पर। हां, मुझे कोई संदेह नहीं है कि किसी भी सिस्टम पर सिल्वरलाइट ऐप लॉन्च करने में सक्षम है, हालांकि मुझे डर है कि यह औसत उपयोगकर्ता के लिए बहुत अधिक प्रयास करेगा।

@ अकीरा: क्या आपको आईई 7 पर उन "एसवीजी रेंडरर्स" के साथ कोई समस्या है? मैं हर समय जावास्क्रिप्ट त्रुटियों को फेंक देता हूं।

उत्तर

1

नए Canvas तत्व पर एक नज़र डालें जो कई ब्राउज़रों में लागू किया गया है। मैंने यह भी सुना है कि आईई के लिए एक ActiveX नियंत्रण है जो कैनवास तत्व को भी लागू करता है।

अद्यतन: रुको, आपने पहले ही कहा है। मुझे अगली बार पूरे प्रश्न को पढ़ना चाहिए!:)

0

एसवीजी के लिए जाएं - और केवल उपयोगकर्ताओं को आईईओबीई एसवीजी प्लग आईई के लिए प्राप्त करने के लिए कहें।

इस उत्कृष्ट साइट देखें - जो एक ब्रिटेन सरकार साइट (लोक सेवा) है

ELGIN

+1

मेरे ज्ञान के लिए एडोब अपनी प्लगइन के लिए समर्थन बंद करना है। –

0

IE VML का समर्थन करता है, लेकिन कुछ भी नहीं तो करता है और यह बदसूरत है। माइक्रोसॉफ्ट ने दावा किया कि वे इसे (नए एक्सएएमएल और सभी के साथ) छोड़ देंगे लेकिन यह अभी भी उनके ऑफिस एक्सएमएल प्रारूप का हिस्सा है (इस प्रकार एक्सेल .xlsx टिप्पणियों का समर्थन करता है, अजीब रूप से पर्याप्त)।

एफएक्स और लोड नए कैनवास तत्व का अधिक समर्थन करता है। कई समर्थन एसवीजी, लेकिन काम एमएस को सिल्वरलाइट पर कर रहे हैं मैं आईई को किसी भी समय एसवीजी का समर्थन नहीं कर सकता।

माइक्रोसॉफ्ट को एमएस ऑपरेटिंग सिस्टम के लिए सिल्वरलाइट प्लग इन्स प्रदान करने वाला माना जाता है।

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

फ्लेक्स के लिए देव उपकरण काफी किफायती हैं, और लगभग हर किसी के पास फ़्लैश है।

0

मुझे नहीं लगता कि भविष्य के लिए एसवीजी एक अच्छा विकल्प है। Wikipedia से:

  • "... इंटरनेट एक्सप्लोरर जो भी समर्थन नहीं करेंगे"। सबसे आम IE प्लग इन एडोब द्वारा एडोब उत्पादन किया गया था, हालांकि, 2009 की शुरुआत में इस उत्पाद को वापस लेने की योजना बना रहे " आगामी संस्करण आईई 8 में एसवीजी "
  • " ... सभी के पास एसवीजी 1.1 के लिए अपूर्ण समर्थन है ... "
  • " कोरल एसवीजी व्यूअर प्लगइन को कोरल से एक बार पेश किया गया था। इसका विकास बंद हो गया है। "
+1

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

9

सफारी, ओपेरा और फ़ायरफ़ॉक्स सभी जावास्क्रिप्ट से svg स्क्रिप्ट करने की क्षमता सहित पूर्णता और शुद्धता की अलग-अलग डिग्री के लिए एसवीजी मूल रूप से (उदाहरण के बिना प्लगइन) का समर्थन करते हैं।

कैनवास तत्व भी है जिसे अब HTML5 में मानकीकृत किया जा रहा है, और पहले से ही उपरोक्त ब्राउज़रों में भी समर्थित है (कुछ किनारे मामलों में विभिन्न quirks के साथ html5 ड्राफ्ट में अपेक्षाकृत हालिया परिवर्तनों के कारण)।

दुर्भाग्यवश किसी भी मानक आधारित दृष्टिकोण आईई की अपने पारिस्थितिकी तंत्र के बाहर क्या हो रहा है, इस बारे में जानबूझकर उपेक्षा है, हालांकि कई पुस्तकालय हैं जो कैनवास/एसवीजी को वीएमएल (आईई की मालिकाना वेक्टर भाषा) में परिवर्तित करने की कोशिश करते हैं जैसे कि iecanvas

[संपादित करें: ओह, मैं अपनी पसंदीदा जेएस लाइब्रेरी भूल गया - Cake! जो पार्स कर सकते हैं और कैनवास में प्रदर्शन svg, और विश्वास का समर्थन करता है आईई रूप में अच्छी तरह]

[फिर भी एक और संपादित करें: केक वास्तव में एक demo कर मैं क्या लगता है कि तुम क्या करने के लिए]

6

Raphael Javascript library पर एक नजर डालें चाहते हैं। यह शुरुआती दिन है लेकिन यह बहुत ही आशाजनक दिखता है।

मुझे आईई रोडमैप याद है जिसमें आईवी 7.2 में सूचीबद्ध एसवीजी समर्थन था।

इस पर निर्भर करता है कि आप इसे कैसे इंटरैक्टिव चाहते हैं?

0

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

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

2

क्या आप सिल्वरलाइट के साथ "विंडोज लॉक-इन" चीज़ से क्या मतलब समझ सकते हैं? यह विंडोज और मैकइन्टेल पर चलता है, और वेक्टर भाग चंद्रमा की प्लगइन के साथ लिनक्स पर ठीक चलते हैं।

क्या आप अमिगा समर्थन की कमी से फेंक गए थे?

1

वाल्टर जोर्न में मनमाने ढंग से वेक्टर ग्राफिक्स के लिए JavaScript library है। यह सभ्य दिखता है।

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