2009-06-02 8 views
17

मैं 'ब्यूटीटिप्स' नामक एक jQuery प्लगइन पर काम करता था और यह ठीक काम कर रहा था। लेकिन, चूंकि मैंने आईई 8 स्थापित किया है, इसलिए यह प्लगइन काम करना बंद कर देता है क्योंकि आईई को वैक्टर, इमेज इत्यादि बनाने के लिए एक्स्कैनवास की आवश्यकता होती है।IE 8 में काम करने के लिए Excanvas प्राप्त करना संभव है?

मैंने एक्सकनवास के नए संस्करण को डाउनलोड करने का प्रयास किया है लेकिन यह बिल्कुल काम नहीं कर रहा है। ..

+32

अभी भी मेरे दिमाग को उड़ाता है कि माइक्रोसॉफ्ट ने देशी कैनवास के बिना आईई 8 लाया। – Nosredna

उत्तर

10

excanvas का उपयोग कर इसे आरंभ करने से पहले दस्तावेज़ को कैनवास तत्व जोड़कर प्रयास करें:

var foo = document.getElementById("targetElementID"); 
var canvas = document.createElement('canvas'); 
canvas.setAttribute("width", 620); 
canvas.setAttribute("height", 310); 
canvas.setAttribute("class", "mapping"); 
foo.appendChild(canvas); 
canvas = G_vmlCanvasManager.initElement(canvas); 
16

आईई 8 का नया 'मानकों' मोड कुछ गैर-मानक सुविधाओं को बंद कर देता है। उनमें से वीएमएल, जिसका उपयोग excanvas द्वारा किया जाता है। मैंने अभी आईई 7 'मानकों' मोड के लिए सेट किया है, इसलिए यह अभी भी काम करता है।

<meta http-equiv="X-UA-Compatible" content="IE=7" /> 

निराशा होती है, लेकिन मैं किसी भी लाभ IE8 द्वारा लाया का पता नहीं है।

+0

यह बहुत अच्छा है। जब मुझे आईई 8 पर कैनवास का उपयोग करना पड़ा, तो मैंने इसे क्विर्क मोड में फेंक दिया, जो चूस गया। – Nosredna

+0

यह पहली बार में इस्तेमाल किया, लेकिन पेज के अन्य हिस्सों पर समस्याओं की बहुत सारी पर हो रही है। आईई 7 संगतता में मैन्युअल रूप से सेट करना सबसे निश्चित है, इसलिए मैंने इस आइटम को तब तक गुगल रखा जब तक कि यह आइटम नहीं मिला। सिद्धांत भविष्य IE के में (हे भगवान, नहीं!) आप – Javier

+0

mmm पिछले संस्करणों से, 'मानकों' की एक विस्तृत विविधता से चुनने के लिए अनुमति देगा, पिछले संस्करण मेरे लिए संगतता मोड के साथ ही काम करने के लिए भी – Peanuts

2

क्या आप सुनिश्चित हैं कि आपके पास excanvas.js का नवीनतम संस्करण स्थापित है? (मार्च 200 9 में जारी, नए Google कोड प्रोजेक्ट पेज पर होस्ट किया गया)

मैंने आईई 8 में सौंदर्य टिप्स प्लगइन का उपयोग किया और AFAIK ने आईई 8 मूल मोड में काम किया।

+0

मैं नहीं था केवल लगता है पता नहीं था कि एक नया excanvas था। धन्यवाद। – Nosredna

1

नवीनतम बीटी प्लगइन संस्करण मेरे लिए इस समस्या को हल करता है।

+0

@jeff, मैंने उस संस्करण का उपयोग करने का प्रयास किया है, लेकिन यह मेरे लिए काम नहीं करता है। इसे काम करने के लिए मुझे कुछ और सामान करना पड़ा! – AndreMiranda

+0

मैं सबसे आखिरी संस्करण का उपयोग कर रहा हूं लेकिन यह काम नहीं करता है, मैंने अपना कैश हटा दिया लेकिन अभी भी कुछ नहीं। कोई विचार ? – Peanuts

14

हां, मुझे आईई 8 मानक मोड में काम करने वाले एक्वाणस मिल गए हैं (केवल हमारे उपयोग के लिए परीक्षण किया गया है)। समारोह CanvasRenderingContext2D_ में मैं लाइन बाहर टिप्पणी की:

//el.style.overflow = 'hidden';//fix IE8

चौड़ाई और नोड वस्तु एल 0px द्वारा 0px था की ऊंचाई, तो छुपे हुए गाया आइटम दृश्यमान बनाया अतिप्रवाह की स्थापना नहीं।

मैंने आवश्यक परिणाम प्राप्त करने के लिए कैनवास पाइटर के निर्माण के क्रम को बदल दिया। मुझे आशा है कि यह मददगार है।

+0

ऐसा लगता है कि यह समस्या हो सकती है। कैनवास तत्व के लिए ओवरफ़्लो बंद करना मैं डीबगिंग करते समय समस्या का समाधान कर रहा था। – Ian

+0

+1 मैं इसे और अधिक वोट दूंगा !! मुझे एक बड़े संगतता मोड सिरदर्द बचाया !! –

+0

मानक मोड को बंद करने की कोई आवश्यकता नहीं है - आप एक किंवदंती हैं! – bart

0

jQuery के साथ एचटीएमएल के एक स्ट्रिंग excanvas के नए संस्करण के साथ काम नहीं करता है के रूप में कैनवस टैग जोड़। आपको पहले document.createElement ('canvas') का उपयोग करना होगा।

0

अगर किसी को अभी भी यह समस्या है: सौंदर्य टिप्स संस्करण 0.9.5 इस समस्या को हल करता है। लेकिन आप पुराने संस्करण का उपयोग करने के लिए (जैसे मैं करता हूँ, के रूप में नए संस्करण सुझावों का एक मुद्दा पेश किया मेरा पेज में समय से पहले ही बंद किया जा रहा), आप इन पंक्तियों के साथ लाइन 530 बदलना चाहिए अगर:

var canvas = document.createElement('canvas'); 
$(canvas).attr('width', (numb($text.btOuterWidth(true)) + opts.strokeWidth*2)).attr('height', (numb($text.outerHeight(true)) + opts.strokeWidth*2)).appendTo($box).css({position: 'absolute', top: $text.btPosition().top, left: $text.btPosition().left, zIndex: opts.boxzIndex}); 

आशा है कि यह मदद करता है ।