pingpang

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            21 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

          這幾天自己琢磨起來javascript,以前都是看看沒有實戰過,現在覺得實戰起來果然錯誤多多,以后要不斷總結錯誤,關鍵可以減少調試時間,菜鳥?。?/p>

          1.js通常有一個地方錯誤了, 下邊的函數都不會再繼續執行啦(本來覺得很正常的事,但是...)

          2.為什么open()請求服務器的時候,請求的servlet后邊要加一個參數變化,告知服務器這是一個新的請求???否則在IE8中請求失敗

          var bojingNum = 0;
          //定義一個變量用來存儲xmlHttpRequest對象
            var xmlHttp=null;
            //該函數用于創建一個xmlHttpRequest對象
            function createXMLHttpRequest()
            {
              if (window.ActiveXObject)//ActiveXObject這個對象是IE瀏覽器提供的控件,所以有的網銀只支持這樣的控件的IE瀏覽器
              {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE瀏覽器生成的對象
                  
              } else if (window.XMLHttpRequest)//除了IE外的其他瀏覽器
              {
                  xmlHttp = new XMLHttpRequest();
              }
            }
            //這是一個通過ajax刷新統計圖的方法
            function  autoFlush()
            {
                //創建日期變量時間變量
                var tempTime = new Date();
                var tempParameter = tempTime.getTime();
                //創建一個xmlHttpRequest對象
                createXMLHttpRequest();
                if(xmlHttp!=null)
                {
                //這里放置一個時間參數是為了讓服務器知道這是一個新的請求
                xmlHttp.open("GET", "SerialDataSvt?tmd="+tempParameter);
                 //將狀態觸發器綁定到一個函數
                xmlHttp.onreadystatechange=processor;
                
                //請求發送
                xmlHttp.send(null);
                }
               
                
            }
            //處理從服務器返回的xml文檔
            function processor()
            {
                //定義一個變量用于存儲從服務器返回的結果
                var  result;
                if(xmlHttp.readyState==4)//如果響應完成
                    {
                       if(xmlHttp.status==200)//如果返回成功
                           {
                          
                             //取出服務器返回的xml文檔的所有counter標簽的子節點
                           result = xmlHttp.responseXML.getElementsByTagName("data");//alert(result);
                      
                          //解析xml中的數據并更新統計圖狀態
                          
                           for(var i = 0 ; i < result.length; i++)
                               {
                                    //用于統計數據更新統計圖片狀態
                               var id =result[i].getAttribute("id");//alert(id);
                               var dir =result[i].getAttribute("dir"); //alert(dir);
                              
                              var  datas =xmlHttp.responseXML.getElementsByTagName("dataContent")[0].childNodes[0].nodeValue;
                              var  addTime =xmlHttp.responseXML.getElementsByTagName("addTime")[0].childNodes[0].nodeValue;
                              
                              
                                  if(datas.substring(17,18)=="1")
                                      { 
                                       document.getElementById("yujing"+(i+1)).innerHTML="<embed   src='video/wartgroud.mp3'  type=audio/x-ms-wma autostart='true' loop='true'>報警中</embed> ";
                                       document.getElementById("yujingPic"+(i+1)).style.display = 'block';
                                      bojingNum++;
                                      document.getElementById("yujingNum"+(i+1)).innerHTML="預警次數:"+bojingNum;
                                      }
                                  else
                                      {
                                      document.getElementById("yujing"+(i+1)).innerHTML="暫無報警";
                                       document.getElementById("yujingPic"+(i+1)).style.display = 'none';
                                      }
                               document.getElementById("n_nodeID"+i).innerHTML= id+dir;
                               document.getElementById("n_nodeData"+i).innerHTML= datas; 
                               document.getElementById("n_nodeTime"+i).innerHTML= addTime; 
                               
                               document.getElementById("s_nodeID"+i).innerHTML= id+dir;
                               document.getElementById("s_nodeData"+i).innerHTML= datas; 
                               document.getElementById("s_nodeTime"+i).innerHTML= addTime; 
                               
                               document.getElementById("e_nodeID"+i).innerHTML= id+dir;
                               document.getElementById("e_nodeData"+i).innerHTML= datas; 
                               document.getElementById("e_nodeTime"+i).innerHTML= addTime; 
                               
                               document.getElementById("w_nodeID"+i).innerHTML= id+dir;
                               document.getElementById("w_nodeData"+i).innerHTML= datas; 
                               document.getElementById("w_nodeTime"+i).innerHTML= addTime; 
                    
                               }
                           }
                    }  
            }
            //每隔一秒就執行一次autoFlush方法
           setInterval(autoFlush, 2000);

          posted on 2012-08-16 22:41 往事隨風 閱讀(2105) 評論(1)  編輯  收藏

          Feedback

          # re: javascript學習心得 2013-07-05 02:56 陳瓊芳
          好,非常好。  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 响水县| 察隅县| 赤壁市| 延长县| 桐梓县| 霍林郭勒市| 许昌县| 穆棱市| 东乡县| 江陵县| 钦州市| 湖北省| 南充市| 稻城县| 新建县| 南通市| 娱乐| 玉树县| 阳西县| 庆安县| 宜君县| 冕宁县| 灌南县| 三都| 东乡族自治县| 灵石县| 工布江达县| 香格里拉县| 偃师市| 肇源县| 张家口市| 新安县| 雷波县| 富蕴县| 莱州市| 巩义市| 若尔盖县| 尉氏县| 宜丰县| 乐陵市| 永福县|