- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个显示 10 个不同项目的页面,每个项目都需要一段时间才能加载。
目前,页面必须等到所有 10 个项目都加载完毕才能显示网页。我想知道,是否可以在加载这些项目后立即在网页上显示这些项目?无需等待其余部分完全加载。
一个数组包含所有 10 个项目,通过遍历它,显示每个项目(注意:假设显示这些项目,即加载它们需要一段时间)这只是一个简化的场景来理解这个想法:
<html>
<body>
<?php
$array = array("item1", "item2", "item3", "item4","item5", "item6", "item7", "item8","item9", "item10");
foreach ($array as $value) {
// Here..do calculations (which is time-consuming and must be done using php) before building the HTML for each item/value in the array
echo "<div class='display'>";
echo "<h1>".$value."</h1>";
echo "</div>";
}
?>
</body>
</html>
换句话说,是否可以显示网页,并在收到网页后立即更新网页内容?
最佳答案
由于您要对每个项目进行大量计算,因此最好将此代码移至 javascript。 PHP 是一个预处理器,因此如果您在 HTML 中使用它,它的所有工作都必须在页面呈现之前完成。
首先,使用一个空容器创建您的页面,条目将用于该容器。这将允许页面立即加载,而无需等待条目处理。
接下来,您需要收集条目的数据。如果数据来自数据库,请编写一个 PHP 服务来返回您要加载的一系列条目的数据。从 jQuery 调用 PHP 服务并用响应填充一个 javascript 数组。如果数据是静态的,不是来自数据库,你可以自己写JS数组。
在您拥有数据数组之后,您可以启动一个循环来遍历每个数据并对其进行处理,然后使用 jQuery 将其附加到您的 HTML 中。
这样,用户可以立即加载页面,并且您的条目将在可用时显示。提供某种加载微调器以向用户指示即将发生的事情也是一个好主意。如果您需要在不中断用户体验的情况下检索其他条目,此方法还允许您从 jQuery 返回到 PHP 服务。
关于javascript - 逐步上传页面内容(不必等到所有内容都加载完毕),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35539215/
我是一名优秀的程序员,十分优秀!