2011-10-17 39 views
1

我正在尋找想法,我不知道從哪裏開始。什麼會導致FF和Chrome回發兩次(一次完整重新加載)?

當我單擊FF和Chrome中的一個按鈕時,我的頁面會執行回發並服從if(!ispostback),但緊接着它會執行另一個操作,但這次它就像整個頁面重新加載並運行我的if(!ispostback)

我的網頁有6個面板,它們的行爲類似於嚮導,每次點擊下一個面板時不可見,而且一個可見(這是因爲我需要一次性驗證所有信息,但不能一次顯示,因爲它有很多!)

第一個面板包含一個google地圖,它在window.onload上設置爲:(儘管這可能與th完全無關e問題)

window.onload = function() { 
    initialize(); 
} 
var map; 
function initialize() { 
    var latlng; 
    if ('<%=Latlng %>' != '') { 
     latlng = new google.maps.LatLng(<%=Latlng %>); 
    }  
    else { 
     latlng = new google.maps.LatLng(54.290882, -4.833984); 
    } 
    var myOptions = { 
     zoom: 4, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var mapCanvas=document.getElementById("map_canvas"); 
    if(mapCanvas !=null){ 
    map = new google.maps.Map(mapCanvas, myOptions); 

    if ('<%=Latlng %>' != '') {  
    var marker = new google.maps.Marker({ 
      map: map, 
      position: latlng 
     }); 
     map.setZoom(12);} 
     else if(document.getElementById('<%=txtPostCode.ClientID %>').value != '') 
    { 
    SetMap(document.getElementById('<%=txtPostCode.ClientID %>')); 
    } 
    } 
} 

其餘的只是文本框和中繼器。

我讀過的可能會導致問題的唯一情況是img控件上的空「src」屬性。所以我試圖刪除所有我的img控件,它沒有任何區別。

我有很多的信息在這個頁面,所以不能粘貼它的所有,但通過一切和刪除位逐一找到違規的對象,沒有人有任何想法從哪裏開始?

它不在IE中做到這一點!?

貝克斯

+0

我知道這是愚蠢的,但你檢查了你有多少次在html中包含你的js? –

+0

整個頁面是否在瀏覽器中重新加載,或者是否只是在後臺進行了額外的完整請求? –

回答

1

我猜「空src屬性」的現象是,在你的問題的根源,雖然。對於某些類別的空屬性,FF會高興地將它們解釋爲對當前URL本身的引用,並觸發第二個GET頁面,試圖將返回的數據用作某種內容。這將是您在那裏看到的頁面生命週期中的非PostBack運行。網絡分析工具還應該顯示額外的請求。

您可以嘗試瀏覽呈現的HTML(即查看瀏覽器中的頁面源代碼)並搜索可能導致該行爲的""屬性。

+0

發現它被隱藏在一個用戶控件中! :) – Bex

相關問題