2014-04-09 47 views
0

角度配合IE7文檔模式7.它也適用於IE8文檔模式8,但IE8文檔模式7不起作用。 這是錯誤:角度不能在IE8文檔模式下工作7

{ 
    description: "Member not found. 
", 
    message: "Member not found. 
", 
    name: "Error", 
    number: -2147352573 
} 

而這正是錯誤是扔行:

this.$$element.attr(attrName, value); 
Member not found 

我使用角1.2.9。我該如何解決它?

+0

您是否使用了'JSON'一個填充工具? – Matt

+0

是的,我使用json polyfill,我在主div中添加了id =「ng-app」 –

+0

請仔細閱讀[this bug-report thread](http://bugs.jquery.com/ticket/12577) )。我看不到一個開箱即用的解決方案,但在頁面上有幾條建議可以解決問題。 – Matt

回答

2

我找到了解決方案。只要檢查是否(msie & & msie < = 8),它也在IE7中工作。 我也改變了jqLit​​eRemoveClass和jqLit​​eAddClass

function jqLiteRemoveClass(element, cssClasses) { 
    if (msie && msie <= 8) { 
    if (cssClasses) { 
     forEach(cssClasses.split(' '), function(cssClass) { 
     element.className = trim(
      (" " + element.className + " ") 
      .replace(/[\n\t]/g, " ") 
      .replace(" " + trim(cssClass) + " ", " ") 
     ); 
     }); 
    } 
    } else { 
    if (cssClasses && element.setAttribute) { 
     forEach(cssClasses.split(' '), function(cssClass) { 
     element.setAttribute('class', trim(
      (" " + (element.getAttribute('class') || '') + " ") 
      .replace(/[\n\t]/g, " ") 
      .replace(" " + trim(cssClass) + " ", " ")) 
     ); 
     }); 
    } 
    } 
} 

function jqLiteAddClass(element, cssClasses) { 
    if (msie && msie <= 8) { 
    if (cssClasses) { 
     forEach(cssClasses.split(' '), function(cssClass) { 
     if (!jqLiteHasClass(element, cssClass)) { 
      element.className = trim(element.className + ' ' + trim(cssClass)); 
     } 
     }); 
    } 
    } else { 
    if (cssClasses && element.setAttribute) { 
     var existingClasses = (' ' + (element.getAttribute('class') || '') + ' ') 
           .replace(/[\n\t]/g, " "); 

     forEach(cssClasses.split(' '), function(cssClass) { 
     cssClass = trim(cssClass); 
     if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { 
      existingClasses += cssClass + ' '; 
     } 
     }); 

     element.setAttribute('class', trim(existingClasses)); 
    } 
    } 
}