我有两个代码块,它们被管理是否使用display:none
2 个不同的样式表显示在带有 CSS 的屏幕上。
现在我的问题是,如果页面已在浏览器中加载,并且检测到该页面是否仍会加载 div 内的代码并且只是被隐藏,还是会像评论一样被跳过?
简而言之,是的。浏览器总是会在加载 css 之前完全加载 dom,因此您的 DOM 元素已经加载,并且任何资产(例如视频或图像)都将在浏览器到达之前开始加载(并将继续这样做) CSS 告诉它不要显示该元素。
下图显示了浏览器采用的顺序:
1st,您的浏览器将在页面加载时加载您的所有 HTML。我知道防止它的唯一方法是将您的 HTML 放在服务器端语言“if”语句中。(或类似的服务器端)
例子:
<?php
if($variable == "Something"){ ?>
<p>I want this to load.</p>
<?php }
else if($variable == "Something Else"){ ?>
<p>This should load instead.</p>
<?php }
?>
但是,如果您需要基于使用 javascrip 或 css hover 等的东西来显示/隐藏隐藏的 HTML,这将不起作用,因为该脚本在服务器上执行并且仅显示 TRUE if 语句中的内容。
您也可以为此使用 javascript。(我不是 javascript 天才,但我确信这是可行的。)
如果您不想将内容加载到代码中,那么您可以轻松地使用 Javascript 将内容放入缓存中。尽管内容本身会加载到代码中。如果您在使用 JS 创建数据缓存方面需要帮助,我可以为您提供帮助。