ब्राउज़र में वेक्टर ग्राफिक्स प्रदर्शित करना

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

तो सवाल वास्तव में कई भागों के होते हैं:

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

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

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

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

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

0
ro fr bn

6 उत्तर

राफेल जावास्क्रिप्ट लाइब्रेरी पर एक नज़र डालें। यह शुरुआती दिन है लेकिन यह बहुत ही आशाजनक दिखता है।

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

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

0
जोड़ा

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

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

0
जोड़ा

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

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

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

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

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

0
जोड़ा

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

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

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

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

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

0
जोड़ा

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

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

0
जोड़ा

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

  • "सबसे आम आईई प्लगइन एडोब द्वारा उत्पादित किया गया था। हालांकि, एडोब, 200 9 की शुरुआत में इस उत्पाद को वापस लेने की योजना बना रहे हैं"
  • "... इंटरनेट एक्सप्लोरर जो आने वाले संस्करण आईई 8 में एसवीजी का समर्थन नहीं करेगा"
  • "... सभी को एसवीजी 1.1 के लिए अपूर्ण समर्थन है ..."
  • "कोरल एसवीजी व्यूअर प्लगइन को कोरल से एक बार पेश किया गया था। इसका विकास बंद हो गया है।"
0
जोड़ा
सभी ब्राउज़रों पर कोई वेक्टर प्रारूप काम नहीं करता है, लेकिन एसवीजी एक अच्छे समाधान के भाग हो सकता है। बस यह पहचानें कि यह कभी भी आईई पर काम नहीं करेगा (इसलिए आपको वहां कुछ और चाहिए), और कोई भी इसे पूरी तरह से समर्थन नहीं करता है (जैसे एचटीएमएल, सीएसएस, और हर दूसरे वेब मानक), तो आपको अभी भी हर जगह परीक्षण करने की आवश्यकता है।
जोड़ा लेखक Ken, स्रोत