$ (window) .load () в IE? - PullRequest
       4

$ (window) .load () в IE?

1 голос
/ 11 марта 2012

Недавно я столкнулся с загадочной проблемой, заключающейся в том, что IE (6-8) продолжает выдавать мне ошибку. Я не знаю, в этом ли проблема, но я думаю, что это так.

Откройте инструменты разработчика F12 на jQuery-сайте , введите

$(window).load(function(){
     alert("Wont able to see me");
});

И появится сообщение об ошибке:

"Невозможно получить значение свойства slice: объект имеет значение null или не определено"

Я сделал что-то не так или что-то еще ???

Ответы [ 3 ]

7 голосов
/ 25 апреля 2012

Я недавно нашел обходной путь для IE, который не распознает $(window).load() ...

window.onload = function() {
    alert("See me, hear me, touch me!");
};

Это немного отличается от $(function(){}), поскольку он выполняется после загрузки всех элементов, а неDOM готов.

Недавно я реализовал это в другом проекте, и он прекрасно работал.

2 голосов
/ 12 июля 2018

Для тех, кто все еще сталкивается с этим, IE11 (только один, который я тестировал) не запускает событие загрузки, если слушатель находится внутри функции готовности jquery.Так что потяните функцию загрузки за пределы функции готовности, и она сработает в IE11.

//this is bad
$(() => { //jquery ready
    window.onload = () => { //wont fire in IE
        cosole.log('window loaded'); 
    }
});

//this is good
$(() => { //jquery ready
    cosole.log('dom ready'); 
});

window.onload = () => { //will fire in IE
    cosole.log('window loaded'); 
}
0 голосов
/ 11 марта 2012

Последний jQuery (1.7.1) с IE10 и IE9 не выдает для меня такой ошибки.

Как примечание; Если вы хотите выполнить что-то, когда дом готов; Попробуйте так;

$(function(){
     alert("Wont able to see me");
});

Я считаю, что это стандартное соглашение для присоединения функции к событию domready.

Ссылка: Документация jQuery

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