2009-08-17 32 views
1

我有一個非常不尋常的問題,實際上我花了相當一段時間甚至找到根本原因。我有一個運行在Windows Server 2003上的ASP.Net 3.5 Web應用程序。我從用戶那裏得到的報告說,應用程序每隔一段時間就會自行刷新一次,而無需用戶交互。這是不尋常的,因爲我沒有編寫任何客戶端刷新代碼。經過很多故障排除之後,我將其縮小到Internet Explorer的一個問題(均爲7 & 8)。 FF,Chrome和Opera不顯示此行爲。ASP.Net 3.5站點奇怪的IE刷新問題

基本上,這隻發生在用戶第一次訪問IE的新實例(新窗口或新選項卡)上的網站時。如果用戶轉到網站中的任何頁面,然後不再與該網站進行交互,則6分鐘後瀏覽器將刷新!在刷新之後,只要它是IE的相同實例,無論您訪問網站的哪個頁面,無論您讓它坐多久,都不會再看到刷新。這讓我很困惑,並且已經成爲一個主要問題,因爲這個應用程序的數據輸入表單需要6分鐘以上才能完成。不幸的是,如果用戶被這個刷新錯誤所捕獲,他們輸入的任何內容都會因爲這個帖子而丟失。

我需要幫助!任何建議或選擇嘗試將不勝感激。謝謝!

(不,我不能要求他們使用一個更好的瀏覽器,因爲這是企業環境的限制設置爲使用IE的非技術用戶)

回答

1

這是一個延伸,但也許你有一個第三方組件即只爲IE添加元刷新標記(請參見http://www.w3schools.com/tags/att_meta_http_equiv.asp(刷新值))。或者,也許只有在IE的情況下才會生成客戶端代碼,這會在您的標記中放置location.reload()或location.href = someLocation客戶端腳本塊。

你比較了IE和FireFox中的HTML標記嗎?他們是一樣的嗎?那就是我要開始的地方。如果它們最終保持一致,請查看腳本引用並搜索location.reload()或location.href。

事實上,也許在此之前,在未啓用添加Ons的情況下運行IE並查看它是否刷新。要在沒有插件的情況下運行,請在命令行「C:\ Program Files \ Internet Explorer \ iexplore.exe」中執行此操作。-extoff

+0

瀏覽器之間的源代碼是相同的。我已經測試了12種不同的機器,XP和Vista,IE7或8,並且都表現相同。沒有加載項。我檢查過以確保沒有重新加載或刷新代碼,但沒有。這似乎也得到了這樣的事實的支持,即這隻發生在IE初始實例的初始頁面訪問上。我可以從網站導航到其他網站並返回,並且不會顯示此刷新行爲。 – Robert 2009-08-20 17:43:44

+0

也許加載了Fiddler,http://www.fiddlertool.com,看看發生了什麼。另外,你有這個網頁上的任何AJAX?也許一個UpdatePanel在IE中導致一個非異步回發...再一次拉伸。 – nickytonline 2009-08-20 17:55:49

+0

我在菲德勒找什麼?這不僅發生在一個特定的頁面上,而是發生在整個應用程序中,而不管用戶在哪個頁面上。有些網頁有AJAX,有些則沒有。它發生在兩種情況下。 – Robert 2009-08-25 14:50:57