我們的測試團隊使用WebDriver發現了自動化腳本的問題。他們正在等待$ .active == 0以確定所有ajax請求在繼續之前完成。但是,對於某些局部視圖加載,活動變量不會遞減,從而使自動化變得非常困難。爲什麼在MVC3局部視圖中包含.js文件會導致jQuery「活動」變量出現問題?
我調查了一下,發現問題只出現在部分視圖被加載時,包含一個.js文件並通過ajax調用加載。但是,並不是所有包含文件的視圖都會發生這種情況。這就是我們如何包括額外的js。
<script type="text/javascript" src="@Url.Script("Internal/People/CommitteeMembership.js")" />
問題觀點有一個共同的問題。腳本包含在部分視圖的頂部附近定義。當我將它移到局部視圖的底部時,問題就消失了,並且$ .active變量正確遞減,並在ajax調用後結束爲0以獲得局部視圖。
我的問題是,任何人都可以解釋爲什麼會發生這種情況?我沒有發現任何說明可以將js包含在部分視圖的底部?至少問題是固定的,我們的自動化測試可以繼續,但我真的想知道爲什麼...
你也使用母版嗎?因爲如果你這樣做,你可以將腳本包含在你的母版頁中,並且不需要將它放在你的局部視圖中。如果你已經這樣做了,那麼你將它包括兩次,這可能會解決你現在正在使用的整個問題:) – 2012-01-18 09:51:00