繁体   English   中英

Chrome的窗口大小调整事件问题

[英]Window resize event problem for Chrome

调整窗口大小时,我正在尝试处理网站上的内容,并且遇到了我无法解决的Chrome问题。 这是代码,非常简化:

<script language="javascript" type="text/javascript">
    window.onresize = function()
        {
            alert(1);
            alert(2);
            alert(3);
            alert(4);
        };
    });
</script>

当我单击“还原”窗口(使窗口变小)时,它工作正常(由于某种原因执行两次)。 当最大化窗口时,警报按以下顺序进行:1、2、1、2、3、4、3、4; 或有时是1、1、2、3、4、2、3、4。在IE中,它似乎可以正常运行(执行3次),而FF可以正常运行(仅执行一次)。 我也尝试过使用与$(window).resize(...) 结果相同。 我知道javascript不是多线程的,但是在这种情况下几乎是这样。 有人有什么想法吗?

它不是单线程的还是多线程的, alert()调用是锁定执行线程的少数事情之一,因此, 警报启动时,其他事情就会在后台排队。

如果您没有使用警报,而是做了console.log()或写为您调试的页面,你会得到更加一致的行为不是与alert()调用......这是非常糟糕判断或穿线竞争条件,因为它们直接干扰并改变了它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM