javascript - 调试器在 Firefox 中显示“布局强制”问题
问题描述
调试时,我看到消息“在页面完全加载之前强制布局。如果尚未加载样式表,这可能会导致无样式内容的闪烁。” 当我收到此消息时,Firefox 在
<script src='Game_Help.js' onload="alert('loaded')"></script>
如果我删除 < script >,消息就会消失,但当然仍然找不到这些函数。奇怪的是,我对 Edge 也有类似的问题。铬工作正常。PS 使用 onload 函数查看是否正在加载脚本。我可以使用 iframe 解决问题,但这似乎很奇怪
解决方案
所以发生的事情是警报本身正在中断内容的加载,从而导致警告。因此,要修复它(并将脚本保留在 head 部分),请从脚本标记中删除 onLoad 事件,并将包含警报的事件侦听器添加到外部 javascript 文件中:
document.addEventListener("DOMContentLoaded", function(){ alert('loaded') });
此侦听器将等到其他内容加载后才会运行。
解决此问题的另一种方法是将脚本标记移动到正文(HTML 从上到下加载,因此您只是让其他所有内容或多或少地加载,直到它到达脚本)。如果您的内容相当复杂或有多个脚本使用事件侦听器将是一个更强大和更具体的解决方案。
推荐阅读
- wildfly - 为什么 keycloak-client-adapter 在 http 上连接?
- angular - 角度 8 @ViewChild 返回未定义
- java - Java, Mockito: Field mocked via @InjectMocks does not notice new value written into the real variable
- powerbi - TopN,分组,底部显示其他 POWERBI-DAX
- load - 将从 GPU 获得的 pickle 文件加载到 CPU
- python - 执行以下几行后,秒的值是多少?在蟒蛇
- python - 实时计算相机和物体之间的距离
- c++ - 使用 Opencv 和 C++ 实现和训练 YOLO 3
- python - 为什么在我的网络训练期间 CrossEntropy 损失没有下降?
- firefox - 使用 d3.json 访问本地文件不再适用于 firefox?