Reputation: 365
Angular working well with IE7 document Mode 7. It's also working well with IE8 document Mode 8, but with IE8 document mode 7 not working. This is the error:
{
description: "Member not found.
",
message: "Member not found.
",
name: "Error",
number: -2147352573
}
And this is the line where the error is throw:
this.$$element.attr(attrName, value);
Member not found
I'm using Angular 1.2.9. How can i fix it?
Upvotes: 0
Views: 625
Reputation: 365
i have found the solution. Just check if (msie && msie <= 8) and it's work also in IE7. I have also changed jqLiteRemoveClass and jqLiteAddClass
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));
}
}
}
Upvotes: 2