2011-08-26 76 views
2

我有我的應用程序中使用自定義js控件的局部視圖。該控件有效地將一個列表框變成一個選中的下拉列表。這是完美的。處理這種豐富的交互性(而不是實際的控件創建)的冗長的代碼是在一個單獨的js文件中,由部分視圖引用。ASP.Net MVC慢JS加載

當部分視圖加載時,列表框顯示在下拉列表中的地方會有一個可見的延遲。你最初看到的是列表框,然後是下拉列表。

但是,如果我將JS代碼包含在視圖內的腳本標記中,那麼就沒有延遲。加載頁面時,控件已完全呈現。

JS文件不包含創建控件的邏輯,只是我的操作代碼。

任何人都知道爲什麼會有這樣的延遲使用相同的代碼,但不同的是我引用一個JS文件或將代碼直接嵌入到視圖中導致?

謝謝。

+0

您是否在不同的瀏覽器中測試了這個功能?您是否使用過Chrome的[Speed Tracer](https://chrome.google.com/webstore/detail/ognampngfcbddbfemdapefohjiobgbdl)來查看延遲時間和地點? +1爲寫得好的問題BTW。 –

+0

@Bernhard,感謝您的評論。我沒有使用任何其他瀏覽器,因爲它是一個內部應用程序,我們只使用IE。你知道IE的任何profiler嗎? –

+0

我已經設法將Chrome安裝在工程機器上,並且工作正常,所以它看起來像IE!該死的瀏覽器! –

回答

0

下拉菜單中有多少項目?

在IE8中有一個known issue與渲染長列表,它可以是嚴重慢!

外部文件中的腳本是否以$(document).ready(...)或類似方式包裝,這會導致它在執行之前等待所有其他元素被渲染?