Web Performance API を使用する Web ベースのページ レンダリング ベンチマーク アプリを構築しています。基本的には、ブラウザーが一連の div 要素をレンダリングするように命令されたときにかかる時間を測定してから、非表示のフォームを作成し、計算結果をそこに入れ、フォームを処理のために別の PHP ページに送信します。問題は、計算結果が常に負になり、数兆の範囲 (つまり、14 桁の数字: -1364403484035) になることです。コードは次のとおりです。
window.onload=function(){
results=(performance.timing.loadEventEnd-performance.timing.responseEnd);
var browserData = document.createElement("form");
browserData.setAttribute("method","post");
browserData.setAttribute("action","results.php");
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "res");
hiddenField.setAttribute("value", results);
browserData.appendChild(hiddenField);
document.body.appendChild(browserData);
browserData.submit();`
更新 1:
次のように、コードを微調整しました。
window.onload=function(){
// My edits
beginning=performance.timing.responseEnd;
ending=performance.timing.loadEventEnd;
results=(ending-beginning);
// End of my edits
var browserData = document.createElement("form");
browserData.setAttribute("method","post");
browserData.setAttribute("action","results.php");
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "res");
hiddenField.setAttribute("value", results);
browserData.appendChild(hiddenField);
document.body.appendChild(browserData);
browserData.submit();`
ブラウザの JavaScript コンソールを使用して変数の値を調べたところ、ending = 0