如何在javascript中強制即時顯示更新?
P粉148434742
2023-09-04 17:44:30
<p>如何取得 javascript 來即時更新我的網頁?
看來我的 Chrome 瀏覽器將所有處理工作都投入到所需的計算中,然後進行網頁更新。以下是最簡單的測試 HTML 檔案。我更願意看到順序計數(而不是僅僅跳到最終值)。我該用什麼替換 <code>display.innerHTML = i;</code> ? </p>
<p>我希望答案不是使用 setInterval 或類似的東西將我的計算分解為許多計算。當然,這創建的中斷將允許顯示更新,但我不喜歡如此詳細地管理它......我希望有一個可用的“阻止”顯示功能,以便這裡的計數不會繼續進行,直到瀏覽器渲染我的顯示更新(或者是否有像C 提供的“刷新”命令?)。如果需要,我可以使用開發者控制台,但這也不理想。 </p>
<pre class="brush:php;toolbar:false;"><!DOCTYPE html>
<html>
<body>
<p id="Display"></p>
<script>
const display = document.getElementById("Display");
for (let i = 0; i <= 3000000000; i ) {
if (i % 100000000 == 0) display.innerHTML = i; }
</script>
</body>
</html></pre></p>
requestAnimationFrame
方式在退出循環時使用 requestAnimationFrame 或 setTimeout 以允許更新 UI,然後從中斷處恢復循環。
Web Worker 方式
#將您的演算法放入 JS 檔案中,當需要更新時會發布一條訊息
並在您的 UI 程式碼中。