繁体   English   中英

Angular在IE8文档模式下不起作用7

[英]Angular not working in IE8 document mode 7

Angular与IE7文档模式7配合良好。它也适用于IE8文档模式8,但IE8文档模式7无效。 这是错误:

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

这是抛出错误的行:

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

我正在使用Angular 1.2.9。 我该如何解决?

我找到了解决方案。 只需检查是否(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));
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM