Я наткнулся на этот вопрос сегодня, потому что у меня была та же ошибка. Ссылка, указанная Брайаном Бринли (http://labs.steveottenad.com/type-mismatch-on-wpadder-js/), на самом деле помогла, потому что упоминается, что:
Sharepoint (и, возможно, IE в целом) имеет проблемы с любым
плагины / скрипты, которые пытаются расширить Array Prototype.
Код, над которым я работал, был расширен Array.prototype
, чтобы включить метод indexOf
.
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (obj, start) {
for (var i = (start || 0); i < this.length; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
}
Ошибка в wpadder.js
исчезла, как только я удалил вышеуказанный бит из кода.
Вместо метода indexOf
я написал следующее:
// this function returns the index of the first occurrence
// of the given item in a simple array
function indexOf(array, item, start) {
for (var i = (start || 0); i < array.length; i++) {
if (array[i] === item) {
return i;
}
}
return -1;
}
и заменил все array.indexOf(item)
в коде на indexOf(array, item)
.