Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(window).load()在IE中?_Javascript_Jquery_Internet Explorer - Fatal编程技术网

Javascript $(window).load()在IE中?

Javascript $(window).load()在IE中?,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,最近我遇到了一个神秘的问题,IE(6-8)一直在给我一个错误。我不知道这是否是问题所在,但我认为是的 在中打开F12开发人员工具,输入 将弹出一个错误: 无法获取属性“slice”的值:对象为null或未定义 我做错什么了吗?最新的带有IE10和IE9的jQuery(1.7.1)不会给我带来这样的错误 作为旁注如果希望在dom就绪时执行某些操作; 试着这样做 $(function(){ alert("Wont able to see me"); }); 我相信这是将函数附加到domr

最近我遇到了一个神秘的问题,IE(6-8)一直在给我一个错误。我不知道这是否是问题所在,但我认为是的

在中打开F12开发人员工具,输入

将弹出一个错误:

无法获取属性“slice”的值:对象为null或未定义

我做错什么了吗?

最新的带有IE10和IE9的jQuery(1.7.1)不会给我带来这样的错误

作为旁注如果希望在dom就绪时执行某些操作; 试着这样做

$(function(){
     alert("Wont able to see me");
});
我相信这是将函数附加到domready事件的标准约定


参考资料:

我最近发现了一个解决IE无法识别
$(window.load()
..的方法

window.onload = function() {
    alert("See me, hear me, touch me!");
};
这与
$(function(){})
略有不同,因为它在加载所有元素后执行,而不是在DOM就绪时执行


我最近在另一个项目中实现了这一点,它工作得非常出色。

对于仍然遇到这一点的任何人,如果侦听器位于jquery ready函数中,IE11(我只测试了一个)不会触发加载事件。因此,将load函数拉到ready函数之外,它将在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'); 
}

$(window).load()
$(function(){})
不是一回事。窗口加载前文件准备就绪<代码>$(窗口)。加载(fm)与
$(fn)
不同。第一个等待直到加载所有页面资源(包括图像)。第二个只等待DOM加载。抱歉,我知道这两者的区别,但是,很长一段时间以来,我的大脑都没有将任何内容连接到window.onload,我的大脑直接切换到domReady:)。我编辑了答案,就好像我第一次没有把它搞糟一样。我不明白那个错误。但是,由于
'load'
事件已经发生,该加载处理程序不会执行(除非您在页面仍在加载时设法从控制台执行该代码)。IE11甚至支持箭头符号吗?抱歉,否。在生产中需要es5语法
//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'); 
}