|
@@ -32,29 +32,48 @@ var SPEEDTEST_SERVERS=[
|
|
|
//INITIALIZE SPEEDTEST
|
|
|
var s=new Speedtest(); //create speedtest object
|
|
|
s.setParameter("telemetry_level","basic"); //enable telemetry
|
|
|
-s.addTestPoints(SPEEDTEST_SERVERS); //add list of servers
|
|
|
|
|
|
//SERVER AUTO SELECTION
|
|
|
function initServers(){
|
|
|
- s.selectServer(function(server){
|
|
|
- if(server!=null){ //at least 1 server is available
|
|
|
- I("loading").className="hidden"; //hide loading message
|
|
|
- //populate server list for manual selection
|
|
|
- for(var i=0;i<SPEEDTEST_SERVERS.length;i++){
|
|
|
- if(SPEEDTEST_SERVERS[i].pingT==-1) continue;
|
|
|
- var option=document.createElement("option");
|
|
|
- option.value=i;
|
|
|
- option.textContent=SPEEDTEST_SERVERS[i].name;
|
|
|
- if(SPEEDTEST_SERVERS[i]===server) option.selected=true;
|
|
|
- I("server").appendChild(option);
|
|
|
- }
|
|
|
- //show test UI
|
|
|
- I("testWrapper").className="visible";
|
|
|
- initUI();
|
|
|
- }else{ //no servers are available, the test cannot proceed
|
|
|
- I("message").innerHTML="No servers available";
|
|
|
- }
|
|
|
- });
|
|
|
+ var noServersAvailable=function(){
|
|
|
+ I("message").innerHTML="No servers available";
|
|
|
+ }
|
|
|
+ var runServerSelect=function(){
|
|
|
+ s.selectServer(function(server){
|
|
|
+ if(server!=null){ //at least 1 server is available
|
|
|
+ I("loading").className="hidden"; //hide loading message
|
|
|
+ //populate server list for manual selection
|
|
|
+ for(var i=0;i<SPEEDTEST_SERVERS.length;i++){
|
|
|
+ if(SPEEDTEST_SERVERS[i].pingT==-1) continue;
|
|
|
+ var option=document.createElement("option");
|
|
|
+ option.value=i;
|
|
|
+ option.textContent=SPEEDTEST_SERVERS[i].name;
|
|
|
+ if(SPEEDTEST_SERVERS[i]===server) option.selected=true;
|
|
|
+ I("server").appendChild(option);
|
|
|
+ }
|
|
|
+ //show test UI
|
|
|
+ I("testWrapper").className="visible";
|
|
|
+ initUI();
|
|
|
+ }else{ //no servers are available, the test cannot proceed
|
|
|
+ noServersAvailable();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(typeof SPEEDTEST_SERVERS === "string"){
|
|
|
+ //need to fetch list of servers from specified URL
|
|
|
+ s.loadServerList(SPEEDTEST_SERVERS,function(servers){
|
|
|
+ if(servers==null){ //failed to load server list
|
|
|
+ noServersAvailable();
|
|
|
+ }else{ //server list loaded
|
|
|
+ SPEEDTEST_SERVERS=servers;
|
|
|
+ runServerSelect();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ //hardcoded server list
|
|
|
+ s.addTestPoints(SPEEDTEST_SERVERS);
|
|
|
+ runServerSelect();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
var meterBk=/Trident.*rv:(\d+\.\d+)/i.test(navigator.userAgent)?"#EAEAEA":"#80808040";
|