5

में अभिव्यक्तियों का मूल्यांकन न करने का नॉकआउट जब मैं मोज़िला में अपना प्रोग्राम चलाता हूं, तो यह नॉकआउट एक्सप्रेशन को हल करता है और मूल्यों को अवलोकन सरणी में दिखाता है। जब मैं आईई 7 में ऐसा करता हूं, तो यह नॉकआउट कोड दिखाता है।आईओ 7

मोज़िला परिणाम

value 1 
value 2 
value 3 

IE7 परिणाम

function observable() { 
    if (arguments.length > 0) { 
     // Write 
     // Ignore writes if the value hasn't changed 
     if ((!observable['equalityComparer']) || !observable['equalityComparer'](_latestValue, arguments[0])) { 
      observable.valueWillMutate(); 
      _latestValue = arguments[0]; 
      if (DEBUG) observable._latestValue = _latestValue; 
      observable.valueHasMutated();    
     } 
     return this; // Permits chained assignments   
    }   
    else { 
     // Read 
     ko.dependencyDetection.registerDependency(observable); // The caller only needs to be notified of changes if they did a "read" operation 
     return _latestValue;  
    } 
} 

मैं IE7 में सही ढंग से इस काम कर सकते हैं कैसे?

+0

आप अपने कोड या एक jsFiddle साझा कर सकते हैं:

नीचे जावास्क्रिप्ट जोड़ें, यह आपकी समस्या का समाधान हो सकता है? –

+0

आपने जो यहां देखा है वह नॉकआउट जेएस कोड जैसा लगता है ... क्या आप वाकई यह कोड है जो त्रुटि उत्पन्न करता है? – ryadavilli

उत्तर

2

आईई ब्राउज़र एक सरणी के लिए indexOf का समर्थन नहीं करते हैं, जो knockout.js ढांचे के साथ समस्या उत्पन्न करता है।

// 
    // IE browsers do not support indexOf method for an Array. Hence 
    // we add it below after performing the check on the existence of 
    // the same. 
    // 
    if (!Array.prototype.indexOf) 
    { 
     Array.prototype.indexOf = function (obj, start) 
     { 
      for (var i = (start || 0), j = this.length; i < j; i++) 
      { 
       if (this[i] === obj) 
       { 
        return i; 
       } 
      } 
      return -1; 
     }; 
    } 
+0

इस पर कोई अपडेट। – Rups