2010-10-19 14 views
7

किसी कारण से, मुझे jquery.js के लाइन 3156 पर इंटरनेट एक्सप्लोरर 8 में निम्न जावास्क्रिप्ट त्रुटि मिल रही है (संस्करण 1.4.3, गैर संपीड़ित संस्करण): Object doesn't support this property or method। फ़ायरफ़ॉक्स और Google क्रोम में कोई त्रुटि नहीं होती है। हालांकि इंटरनेट एक्सप्लोरर में यह है गूगल क्रोम में, यह आउटपुटआईई जावास्क्रिप्ट त्रुटि "ऑब्जेक्ट इस प्रॉपर्टी या विधि का समर्थन नहीं करता है" jQuery

/(^(?:.|\r|\n)*?):((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\3\))?(?![^\[]*\])(?![^\(]*\))/ 

:

if ((match = Expr.leftMatch[ type ].exec(expr)) != null && match[2]) { 

इन्वेस्टिगेशन (console.log(Expr.leftMatch[type])) निम्नलिखित दिलचस्प परिणाम पैदा करता है:

इस लाइन त्रुटि पर होता है उत्पादन:

function() { 
    var p = this; 
    do p = p.previousSibling; 
    while (p && p.nodeType != 1); 
    return p; 
} 

जोपरनहीं कहा जा सकता है (यह अपरिभाषित है)। उद्धृत कार्य jquery.js के भीतर मौजूद नहीं है। क्या किसी के पास कोई सुराग है कि ऐसा क्यों होता है, या मैं इसे हल करने के लिए क्या कर सकता हूं?

मैं है, दुर्भाग्य से, नहीं अभी तक समस्या पुन: पेश करने के लिए एक सरल स्क्रिप्ट बनाने के लिए सक्षम किया गया है, हालांकि मैं this post of someone having the same problem मिला, लेकिन यह एक समाधान की पेशकश नहीं करता है (पिछले पोस्ट का सुझाव पेज मानकों मोड में चलाने की जानी चाहिए, लेकिन मेरा पहले से ही है)।

+0

बिंदु आपको लगता है कि "leftMatch" प्रविष्टि मुद्रित में "प्रकार" का मूल्य क्या है? – Pointy

+0

क्या? - क्या वह त्रुटि संदेश वाई के लिए पर्याप्त विशिष्ट नहीं है? :-D (इसके लगभग के रूप में उपयोगी के रूप में त्रुटि संदेश "अपरिभाषित कार्य नहीं है") ;-) – scunliffe

+0

@Pointy: "previousObject"। – Aistina

उत्तर

8

यह पता चला है, मेरे पास अनेक दर्दनाक घंटे के बाद अपने आप से यह पता लगा लिया। ऐसा लगता है कि अगर आपने Object.prototype.previousObject कहीं और परिभाषित किया है, तो यह अप्रत्याशित तरीके से (और केवल इंटरनेट एक्सप्लोरर में) सिज़ल चयनकर्ता इंजन तोड़ता है।

उस घोषणा को हटाने या previousObject का नाम बदलकर किसी और चीज को हल करता है।

मजाकिया बात यह है कि, मैंने उस कोड को स्वयं भी रखा (Object.prototype.previousObject = [the function in my question]), लेकिन मुझे कोड नहीं पता था।

ठीक है, कि विकास की क्षमता बर्बाद से भरा एक और दिन है।

+0

वाह। वैसे यह जानना अच्छा है, निश्चित रूप से !! – Pointy

+0

x2 सभी के लिए एक अद्यतन पोस्ट करने के लिए धन्यवाद। –

+2

सबक सीखा, ऑब्जेक्ट –

-1

आईई के किस संस्करण चल रहे हैं?

आप कुछ संगतता मोड में चल रहा संयोग से कर रहे हैं? यदि आप स्थानीय डोमेन पर परीक्षण कर रहे हैं, तो डिफ़ॉल्ट रूप से आईई संगतता मोड सेट करता है, और इस तरह के अनुभवी यादृच्छिक मुद्दों को अनुभव करता है।

यदि आप आईई 8 चला रहे हैं तो आप डेवलपर टूल (एफ 12) में ब्राउज़र मोड को बदलने का प्रयास कर सकते हैं यह देखने के लिए कि समस्या अभी भी बनी हुई है या नहीं।

+0

क्षमा करें, उल्लेख करना भूल गया, मैं IE8 चला रहा हूं। यह स्थानीय वेबसर्वर पर चल रहा है, और डेवलपर टूल रिपोर्ट: 'दस्तावेज़ मोड: IE8 मानकों'। – Aistina

3

(दुर्भाग्य से मेरी प्रतिष्ठा ऐसी है कि मैं ऊपर समाधान पर सीधे टिप्पणी नहीं कर सकता)

मैं खोज की है एक ही व्यवहार होता है यदि आप Object.prototype के लिए एक विधि कहा जाता है "प्राप्त" जोड़ने का प्रयास, यानी Object.prototype.inherited = <some func>

यह IE6 को प्रभावित करता है, 7 & 8 लेकिन, IE9 (बीटा) में लगाई जानी

2

FYI करें लगता है जब हम Object.prototype.keys नए सिरे से परिभाषित हम भी एक ही मुद्दा मिल गया।

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

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