首页 > 解决方案 > 调试器在 Firefox 中显示“布局强制”问题

问题描述

调试时,我看到消息“在页面完全加载之前强制布局。如果尚未加载样式表,这可能会导致无样式内容的闪烁。” 当我收到此消息时,Firefox 在

<script src='Game_Help.js' onload="alert('loaded')"></script>

如果我删除 < script >,消息就会消失,但当然仍然找不到这些函数。奇怪的是,我对 Edge 也有类似的问题。铬工作正常。PS 使用 onload 函数查看是否正在加载脚本。我可以使用 iframe 解决问题,但这似乎很奇怪

标签: javascript

解决方案


所以发生的事情是警报本身正在中断内容的加载,从而导致警告。因此,要修复它(并将脚本保留在 head 部分),请从脚本标记中删除 onLoad 事件,并将包含警报的事件侦听器添加到外部 javascript 文件中:

document.addEventListener("DOMContentLoaded", function(){ alert('loaded') });

此侦听器将等到其他内容加载后才会运行。

解决此问题的另一种方法是将脚本标记移动到正文(HTML 从上到下加载,因此您只是让其他所有内容或多或少地加载,直到它到达脚本)。如果您的内容相当复杂或有多个脚本使用事件侦听器将是一个更强大和更具体的解决方案。


推荐阅读