2011-02-23 67 views
0

我的代碼更改沒有反映在IE或FF中。javascript - 奇怪的調試問題

在IE中: 我注意到警報('start'),但當我停止時,我仍然看到警報 - 重新啓動我的visual studio調試器。
FF: 相同的代碼更改,但根本沒有提示。我沒有注意到警報('開始'),我仍然沒有在FF中看到它。

我試着設置我的端口以保持固定在5204.在再次啓動調試器之前,我也停止了ASP.NET開發服務器。仍然沒有幫助。

環境:VS 2010 IE7和FF3.6。

代碼

simplexhr = { 
    doxhr: function (container, url) { 
     //alert("START"); 
     if (!document.getElementById || !document.createTextNode) { 
      alert("NO JS SUPPORT"); 
      return; 
     } 
     simplexhr.outputContainer = document.getElementById(container); 
     if (!simplexhr.outputContainer) { 
      alert("NO OUTPUT CONTAINER"); 
      return; 
     } 
     var request; 
     try { 
      //alert("Mozilla AJAX"); 
      request = new XMLHttpRequest(); 
      alert(request); 
     } 
     catch (error) { 
      try { 
       //alert("IE AJAX"); 
       request = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch (error) { 
       return true; 
      } 
     } 
     request.onreadystatechange = function() { 
      if (request.readyState == 1) 
       simplexhr.outputContainer.innerHTML = 'loading...'; 
     } 
     alert("made it to try AJAX"); 
     request.open('get', url); 
     //alert("ready state: " + request.readyState); 
    } 
} 

UPDATE
在進一步的測試,這個問題是由於緩存。收視源 - - javascript的更新,每次不帶緩存

<script src="Scripts/simpleXHR.js" type="text/javascript"></script> 

移動代碼插入到頁面:但是,這隻有當我用「不顯眼的JavaScript」或JavaScript在標題鏈接自己的* .js文件內發生的問題。那麼是否有更好的方式來執行「不顯眼的JavaScript」?或者應該將其更名爲「非生產性JavaScript」:P

回答

1

聽起來像它可能是瀏覽器緩存問題。嘗試清除每個瀏覽器中的緩存。希望能夠接受這些變化。

您可以通過在瀏覽器中執行查看源來驗證您是否確實獲取了最新的代碼。

+0

果然。清除這兩個瀏覽器中的緩存使其停止。這有點煩人。這是否意味着我每次在javascript中更改代碼時都必須清除瀏覽器緩存? – 2011-02-23 16:17:27

+0

如果你在本地服務器(Apache或者其他)上運行你的JS,我認爲你可以配置它,以便強制你的瀏覽器刷新緩存。如果這不適合你,請嘗試在瀏覽器的「私人模式」下測試應用程序(未緩存)。 – 2011-02-23 16:30:29