所以這裏是Java腳本代碼:
//Source: http://stackoverflow.com/questions/5529718/how-to-detect-internet-speed-in-javascript
var imageAddr = "http://www.kenrockwell.com/contax/images/g2/examples/31120037-5mb.jpg";
var downloadSize = 4995374; //bytes
window.onload = function() {
var oProgress = document.getElementById("progress");
oProgress.innerHTML = "Loading the image, please wait...";
window.setTimeout(MeasureConnectionSpeed, 1);
};
function MeasureConnectionSpeed() {
var oProgress = document.getElementById("progress");
var startTime, endTime;
var download = new Image();
download.onload = function() {
endTime = (new Date()).getTime();
showResults();
}
download.onerror = function (err, msg) {
oProgress.innerHTML = "Invalid image, or error downloading";
}
startTime = (new Date()).getTime();
var cacheBuster = "?nnn=" + startTime;
download.src = imageAddr + cacheBuster;
function showResults() {
var duration = (endTime - startTime)/1000;
var bitsLoaded = downloadSize * 8;
var speedBps = (bitsLoaded/duration).toFixed(2);
var speedKbps = (speedBps/1024).toFixed(2);
var speedMbps = (speedKbps/1024).toFixed(2);
oProgress.innerHTML = "Your connection speed is: <br />" +
speedBps + " bps<br />" +
speedKbps + " kbps<br />" +
speedMbps + " Mbps<br />";
}
}
我想,這將返回值(我會編輯代碼,所以我只得到一個值),然後將其放置在一個PHP變量。問題是,當我使用後在網頁上運行它:
$Speed = file_get_contents('wiFiCalc.js');
$value = trim(str_replace(array("document.write('", "');"), '', $Speed));
echo $value;
我剛剛得到的html頁面的代碼,如clami219如上所述。我只想返回該值來打印它並將其存儲在數據庫中。
另外,Jobst,你寫的方式有點難以遵循。我在我的HTML代碼中使用表單動作來提高速度,以便在返回到下一個HTML頁面之前將其存儲在數據庫中,這樣您可以解釋代碼的工作原理了嗎?
謝謝,我將盡力加入這個。 – LeslieKnowsBest