最近公司要求做一个测试站点运行速度的小程序,哎,放码吧  实在是搞不动了,求教高手。
该程序在IE、FF、chrome下都运行正常,在opera下就悲剧了  是浏览器的兼容性问题呢?还是程序的执行逻辑有问题???
   var iframe = new Array();
var loadtime = new Array();
  var dstart;
var dend;
var j;
var flag = 0;
var min_index;

var autourl=new Array()
autourl[0]="www.cnspeed.com"
autourl[1]="hk.cnspeed.com"    //香港站
autourl[2]="hn.cnspeed.com" //河南站
autourl[3]="hg.cnspeed.com"   //韩国站
autourl[4]="cnc.cnspeed.com" // 网通1站
autourl[5]="cnc2.cnspeed.com" //网通2站


var urlname = new Array();
urlname[0] = "主站";
urlname[1] = "香港站";
urlname[2] = "河南站";
urlname[3] = "韩国站";
urlname[4] = "网通1站";
urlname[5] = "网通2站";

   
function loading() {  
for (var i=0;i<autourl.length;i++) {
dstart = new Date(); 
document.getElementById("txt"+i).innerHTML=urlname[i]+":Loding...";
        iframe[i] = document.getElementById("iframe"+i);  
iframe[i].src = "http://"+autourl[i]+"/help/ts.html?a="+Math.random();
j = i;
//alert (j);
        iframe[j].onload = iframe[j]. onreadystatechange = function(){
iframeload(this)
};
//alert (iframe[j].onreadystatechange);
    }
}
function iframeload(iframe) {
var i = iframe.id.replace("iframe", "");
if ( (!iframe.readyState) || (iframe.readyState == "complete")||(iframe.readyState == 4)) {  
dend = new Date(); 
var loadingtime = speed(dstart,dend);
if (flag==0) {
flag = 1;
min_index = i;
document.getElementById("recommend").innerHTML = "推荐您通过<a href='http://"+autourl[min_index]+"' target='_blank'>"+urlname[min_index]+"</a>访问";
}
 document.getElementById("txt"+i).innerHTML="<a href='http://"+autourl[i]+"' target='_blank'>"+urlname[i]+"</a>"+":"+loadingtime+"秒";
        }
    }

function speed(dstart, dend){
      var startMinute = dstart.getMinutes();
     var startSecond = dstart.getSeconds();
     var startMilli = dstart.getMilliseconds(); //开始毫秒
     var startLoading = startMinute * 60 * 1000 + startSecond * 1000 + startMilli;//开始时间
    
     var endMinute = dend.getMinutes();
      var endSecond = dend.getSeconds();
     var endMilli = dend.getMilliseconds(); //结束毫秒
     var endLoading = endMinute * 60 * 1000 + endSecond * 1000 + endMilli; //结束时间
     var timeLoading = ( endLoading - startLoading ) / 1000; //计算出时间差
   
     return timeLoading;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>test</title></head>
<body onLoad="loading()">
<div align="center">
             <iframe id="iframe0" style="display:none" ></iframe> 
        <div id="txt0" name="txt0"></div> 
            
<iframe id="iframe1" style="display:none" ></iframe> 
        <div id="txt1" name="txt1"></div> 
    
     <iframe id="iframe2" style="display:none"></iframe> 
     <div id="txt2" name="txt2"></div>
    
    <iframe id="iframe3" style="display:none"></iframe> 
     <div id="txt3" name="txt3"></div> 
    
      <iframe id="iframe4" style="display:none"></iframe> 
     <div id="txt4" name="txt4"></div> 
                
     <iframe id="iframe5" style="display:none"></iframe> 
     <div id="txt5" name="txt5"></div>
                
               
            </div>
 <div id="recommend" name="recommend"></div>
</body>
</html>
这是在FF底下运行的情况:IE、chrome同这是在opera下运行的情况:

解决方案 »

  1.   

    话说我这边opera执行正常。
    版本  10.61
      

  2.   

    话说我的也是opera10,怎么就运行不了,看来不是版本的问题。
      

  3.   

    鑫星互联 域名注册 虚拟主机 智能建站主机 租用托管 主机 企业邮局 网站建设 服务范围:各类虚拟主机租用、Internet独享共享带宽租用、服务器托管、服务器租用、企业电子邮局、企业网站网络推广、域名注册、行业解决方案、行业软件开发、系统集成等各类电信增值服务等项目。公司和四川电信及多家IDC有良好的合作关系
    公司网址:www.w262.com