JavaScript 不在 IE8/9 中运行,但在查看控制台时运行

javascript doesn't run in IE8/9 but does when viewing console

本文关键字:运行 控制台 IE8 JavaScript 不在      更新时间:2023-09-26

我有一个脚本,除了IE8/9之外,可以在所有方面正常工作。奇怪的是,当我在IE中打开开发人员工具和控制台进行deb,然后按照它所说的刷新页面时,脚本运行良好。我错过了什么?知道IE不喜欢这个脚本吗?

另一个注意事项 - 脚本在窗口加载之前不会加载,因为我需要测量图像的高度,所以也许这是问题的一部分?

感谢您的任何帮助

$(window).load(function(){

     function offsetElement(element, container){
            if ( $(window).width() > 767 ) {
                $(element).each(function(index,value){
                    var snapImage = $(this),
                        snapImageHeight = snapImage.height(),
                        containerHeight = snapImage.closest(container).outerHeight(),
                        topOffset = (containerHeight - snapImageHeight) / 2;
                    $(this).css({ 'top' : topOffset });
                 });
            }
     }

        offsetElement('.snapshot', '.event');
        offsetElement('.dot', '.event'); 
    function activeSnap(){ return offsetElement('.snapshot', '.event'); }
    function activeDot(){ return offsetElement('.dot', '.event'); }

     $(window).resize(function(){
        activeSnap();
        activeDot();
     });

});

>$(window).load()应该使用内置的onload函数,所以这不应该成为问题。它可能是你的jQuery版本,jQuery 2.X不支持Internet Explorer 6,7或8。确保你使用的是jQuery 1.X的兼容性。

使用 $(document).ready() 而不是 $(window).load()

你使用的是jQuery的哪个版本?你有没有尝试过使用window.onload。 看看IE是否适用于它?– 杰森斯莱维亚 35分钟前

谢谢@jasonslyvia,我所做的只是将$(window).load替换为window.onload,它现在可以正常工作。