0

我有一個OpenLayers的網站,其中的地圖在IE8中無效(它可以在IE9,Firefox,Opera,Chrome,Safari中運行)。如果我在網站上運行IE 8調試器,代碼中會發生什麼變化?

然而,當我運行在IE8的調試工具,只是不停地按F5,直到它完成,網站突然工作正常。它確定的問題僅在OpenLayers.js中,而不在我的腳本中。現在

,我真的很新的網頁開發 - 但我一直認爲一個調試器不改變代碼的任何東西,除非我這樣做手工,如果它這樣做,我會實際看到它在做什麼。但是IE8只是指出了問題,然後網站運行。

這是鏈接到網站:

http://xweb.geos.ed.ac.uk/~s1148194/eq/map.html

有人能在簡單的話解釋這樣對我?

感謝,並道歉,如果這個問題是相當愚蠢的。

回答

0

這將有助於如果你想以什麼方式不工作規定,但我的猜測是,調試器暫停足夠長的東西追趕,否則IE8沒有管理加載或在需要之前及時運行。

+0

網站本身是好的,它只是與地圖是在這個意義上,沒有什麼顯示打破了股利。 據我所知,IE8調試器指出OpenLayers.js中只有4行與高度和寬度有關。 不幸的是,它與追趕無關。這是該網站的鏈接: http://xweb.geos.ed.ac.uk/~s1148194/eq/map.html – cba 2012-07-15 20:26:16

0

這幾乎肯定是一種競爭條件。如果您有AJAX調用,即使腳本暫停,它們後面的HTTP請求也會繼續運行,因此他們有機會在您按F5繼續前完成。如果不進行調試,該腳本會保持運行狀態,並可能會在AJAX結果到達之前嘗試訪問它。

要解決,確保您等候AJAX結果嘗試使用任何包含之前抵達。另外(不推薦,但可能),你可以讓你的AJAX請求同步。這消除了任何競爭條件的可能性。

相關問題