при перемещении через сеть и через stackoverflow.com я нашел много сообщений на форумах, и т.д. где это сообщение происходит в IE, но не в других браузерах. вещь, разрешения значительно различаются, и не ясно для меня, что лучший способ состоит в том, чтобы избежать этой проблемы.
Таким образом, мой вопрос, если кто-либо знает точно, specificly, что этот объект сообщения не поддерживает это свойство или метод
средство, причины, говорит...
благодарит справка. helle
Довольно часто реальная проблема, на которую указывает эта ошибка, заключается в том, что ваш код ожидает, что не будет null
на самом деле null
.
var thing = document.getElementById('thing');
var x = thing.getAttribute('x');
Если на странице нет элемента «вещь», переменная будет равна нулю, и вы получите сообщение об ошибке.
В общем, неплохо не задумываться о том, что IE пытается сообщить вам своими сообщениями об ошибках. Только представьте, что браузер издает глухой кряхтение, как плохо обученное животное.
Это означает, что объект не поддерживает метод, который вы пытаетесь вызвать.
function Foo() {
};
var something = new Foo();
something.fish(); // Error: because fish is not defined as a method.
Ну, после другого огромного поиска причин проблемы (например, в спецификации Microsoft JS ... где нет полной таблицы ошибок) я перехожу к тот же результат, что и @Pointy. наверняка @Matt тоже помог! IE реально ворчит, когда у него что-то не работает. Я пока не нашел точного описания ошибки.
и еще одно резюме:
во многих случаях это вызвано тем, что объект JS имеет такое же имя, как DOM-Elements или DOM-Elements ID, потому что IE - в некоторых случаях - интерпретирует их как одинаковые. так что вы как бы перезаписываете объекты сверху.
чтобы избежать этого, всегда используйте var [vaiablename] = [value];
синтаксис для инициализации переменной. ( var абсолютно необходим в IE.
просматривая форумы, я обнаружил, что это помогает во многих случаях, но не универсальное средство.
с уважением, helle