現在、読み込みに時間がかかる Web ページがあります。ページの php 側は多くのデータ処理と計算を行いますが、これは (残念ながら) 避けられません。PHPの処理中にページに何かを表示したいと思います。残念ながら、ページの大部分は PHP の計算に依存しています。
私が持っている現在の解決策は次のとおりです。
HTML/PHP (はじめに):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title id="title">Loading</title>
<link href="style.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="preLoading.js"></script>
</head>
<body onload="onLoad()">
<?php
flush();
?>
<?php
// computation.
?>
ジャバスクリプト:
document.write('<span id="loading">Please wait... Loading and processing data.</span>');
function onLoad() {
if (document.getElementById) {
var loading = document.getElementById("loading");
loading.style.display="none";
}
}
ページのレンダリング中に、ページのレンダリング中に小さな待機メッセージが表示されるという意味でうまく機能します。しかし、ページがすべてのデータを受信するのを待ってから何かをレンダリングするという意味では機能しません。どうすれば後者を達成できますか?
1 つの注意点: doctype の前の空白行には 1024 個のスペースが含まれています。これは、ブラウザが特定の文字数を読み取るまで待ってから何かをレンダリングしようとする場所 (StackOverflow を含む) を読んだためです。
どんなアイデアでも大歓迎です。ブラウザには、私を当惑させる難解なトリックやハックがたくさんあります。