我想知道我是否可以执行以下操作:
加载一个 html 页面并使用 javascript 动态设置 body 元素的背景颜色,在本例中使用 jquery 脚本。如果页面元素在js执行前加载,那么body颜色会先白一秒,然后再变色。如果在呈现 html 之前加载 js,那么我们还没有一个主体来应用更改吗?还是我错了?你能告诉我什么是最好的解决方案吗?非常感谢
问候
最佳答案
在大多数情况下,使用 DOMContentLoaded
(或等效的 hack)就足够了。如果 HTML 代码的解析延迟(例如,由于服务器端或客户端计算或连接速度慢)或 - 如您的情况 - 不希望的视觉效果,则会出现问题;我写了关于分块传输的这个问题 some time ago .
通过将 script
元素直接添加到 body
所涉及的元素之后,您应该体验到最少的时间延迟(有关何时出现问题,请参阅 this question)。
更改body
颜色的示例如下所示:
<body>
<script type="text/javascript">
document.body.style.background = 'green';
</script>
关于javascript - 在脚本之前加载页面元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1381614/