2011-06-19 13 views
12

मुझे इस तथ्य से अवगत है कि फाइलरीडर ऑब्जेक्ट सफारी 5.0.5 में उपलब्ध नहीं है। मैं एक स्क्रिप्ट का उपयोग करता है यह और सोचा था कि मैं सिर्फ, पता लगाने के लिए वस्तु कुछ वैकल्पिक कोड को चलाने के लिए मौजूद है या नहीं सक्षम होगा, जैसा कि यहाँ का सुझाव दिया है,सफारी में जावास्क्रिप्ट फ़ाइल रीडर पहचान

http://www.quirksmode.org/js/support.html

तो मेरी कोड है, है

if(FileReader) 
{ 
    //do this 

}else{ 

    //the browser doesn't support the FileReader Object, so do this 
} 

समस्या यह है कि मैंने इसे सफारी में परीक्षण किया है और एक बार यह अगर कथन को हिट करता है तो मुझे यह त्रुटि मिलती है और स्क्रिप्ट चलना बंद हो जाती है।

ReferenceError: चर नहीं मिली: FileReader

तो जाहिर है कि तब इससे निपटने के लिए सबसे अच्छा तरीका नहीं है? कोई विचार क्यों यह काम नहीं करता है?

+0

फाइलरीडर सफारी 5.1.5 में समर्थित है? मुझे 5.1.5 में भी त्रुटि मिल रही है। –

+0

संख्या 5.2 में संभव: http://caniuse.com/filereader – forresto

उत्तर

7

आप लिख सकते हैं if (typeof FileReader !== "undefined")

तुम भी आप के लिए जाँच करने के लिए Modernizr लाइब्रेरी का उपयोग कर सकते हैं।

+0

ग्रेट, – barry

+0

के लिए बहुत कुछ धन्यवाद क्यों इसे हटा दिया गया है ?! – jayarjo

+0

@ जयारो: क्या? – SLaks

28

मैं अपने मामले में लगता है कि आप एक सरल चेक के साथ प्राप्त कर सकते हैं: प्रकार के लिए

if(window.FileReader) { 
    //do this 
} else { 
    //the browser doesn't support the FileReader Object, so do this 
} 

जांच यदि आप वास्तव में चाहते हैं दानेदार और चुनने की।

+0

सहमत हुए। आपको विंडो के लिए पूछना चाहिए। FileReader अन्यथा एक अनचाहे संदर्भ त्रुटि होगी (एंड्रॉइड 2.3 पर मनाया गया) –

1

या आप ऐसा कुछ कर सकते हैं।

if('FileReader' in window) { 
    // FileReader support is available 
} else { 
    // No support available 
} 
संबंधित मुद्दे