Мой пользовательский javascript конфликтует с javascript sharepoint (sharepoint 2010) - PullRequest
2 голосов
/ 27 сентября 2011

Я использую пользовательский файл JavaScript ([mootools-1.2-core.js] [1]) на странице пользовательского приложения в sharepoint (2010). Я получаю ошибку несоответствия типов в wpadder.js (SharepointФайл Javascript, который находится в 14 / layout). Кто-нибудь может предложить решение этой проблемы?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2013

Я наткнулся на этот вопрос сегодня, потому что у меня была та же ошибка. Ссылка, указанная Брайаном Бринли (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).

0 голосов
/ 27 сентября 2011

Я бы порекомендовал поиск в Google для поиска ошибки несоответствия типов wpadder.js - первая ссылка = http://labs.steveottenad.com/type-mismatch-on-wpadder-js/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...