Roh*_*hit 5 android phonegap-plugins cordova cordova-plugins
我正在开发一个phonegap应用程序.我想将数据从服务器同步到应用程序,但它需要一个良好的连接强度.所以我需要找出连接的连接强度.
有很多互联网文档可以找到使用phonegap的连接类型,但我找不到任何有关连接强度的帮助
有没有办法在phonegap中找到连接强度,我不想使用任何原生平台代码,因为它会在很多平台上工作,所以有没有办法找出连接(2g,3g,4g,wifi等...)在phonegap的力量????
也没有任何标准的方法来找出连接强度android,所以我只是使用javascript代码来获取互联网连接的速度,任何平台都没有问题android,ios等等windows phone 8,不需要为每个平台开发单独的插件。
只需使用以下内容scripts:
var downloadSize = 244736;
var imageAddr = "http://farm6.static.flickr.com/5035/5802797131_a729dac808_b.jpg" + "?n=" + Math.random();
var startTime, endTime = 0;
var download = new Image();
download.onload = function () {
endTime = ( new Date() ).getTime();
showResults( startTime, endTime, imageAddr, downloadSize );
};
startTime = ( new Date() ).getTime();
download.src = imageAddr;
function isConnected() {
var xhr = new XMLHttpRequest();
var file = "http://api.androidhive.info/music/images/adele.png";
var r = Math.round( Math.random() * 10000 );
xhr.open( 'HEAD', file + "?subins=" + r, false );
try {
xhr.send();
if ( xhr.status >= 200 && xhr.status < 304 ) {
return true;
} else {
return false;
}
} catch ( e ) {
return false;
}
};
function showResults( startTime, endTime, imageAddr, downloadSize ) {
if ( isConnected() ) {
var duration = ( endTime - startTime ) / 1000; //Math.round()
var bitsLoaded = downloadSize * 8;
var speedBps = Number( ( bitsLoaded / duration ).toFixed( 2 ) );
var speedKbps = Number( ( speedBps / 1024 ).toFixed( 2 ) );
var finalSpeed = ( speedKbps / 10 );
if ( finalSpeed < 40 ) {
// Slow Internet
} else if ( finalSpeed >= 40 && finalSpeed < 80 ) {
// Avg Internet
} else if ( finalSpeed >= 80 ) {
// Fast Internet
}
} else {
//No intenet
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1766 次 |
| 最近记录: |