2013-01-25 16 views
1

我正在asp文件的正文中運行一些jQuery。緊隨其後它是影響下拉菜單。 該腳本工作正常,問題是需要一段時間才能在Firefox中加載腳本。如何加快jQuery在ASP頁面正文的執行

我該如何加快速度,而不會將其移動到身體或頭部更高的位置。

請注意:鏈接提供的是實時網站,我知道它發射了一個對象錯誤,因爲我有 舊版本的jQuery。 (在我們內部網站的jQuery是最新版本)

鏈接:http://www.casa.gov.au/scripts/nc.dll WCMS:PWA :: PC = PC_91330

代碼如下:

<script> 
    $(document).ready(function() { 

       $(document).on("change","select#state",function(e){ 
          $("form#state").submit(); 
           }); 

    }); 
</script> 

    <form id="state" action="avsafety.asp" method="get"> 

    <p>State:<br/> 
     <select id="state" name="state"> 
     <option label="ACT" value="ACT" <%if request.querystring("state") = "ACT" then response.write("selected") %>>ACT</option> 
     <option label="NSW" value="NSW" <%if request.querystring("state") = "NSW" then response.write("selected") %>>NSW</option> 
     <option label="NT" value="NT" <%if request.querystring("state") = "NT" then response.write("selected") %>>NT</option> 
     <option label="QLD" value="QLD" <%if request.querystring("state") = "QLD" then response.write("selected") %>>QLD</option> 
     <option label="VIC" value="VIC" <%if request.querystring("state") = "VIC" then response.write("selected") %>>VIC</option> 
     <option label="SA" value="SA" <%if request.querystring("state") = "SA" then response.write("selected") %>>SA</option> 
     <option label="TAS" value="TAS" <%if request.querystring("state") = "TAS" then response.write("selected") %>>TAS</option> 
     <option label="WA" value="WA" <%if request.querystring("state") = "WA" then response.write("selected") %>>WA</option> 
     </select> 
     <noscript><input type="submit" value="Search" /></noscript> 
    </p> 

    </form> 

回答

2

您正在使用on作爲整個文檔。基本上等待事件一直泡到最高水平。直接監視元素。

$("select#state").on("change",function(e){ 
    $("form#state").submit(); 
}); 

就性能增益較大而言,我會少一點看到javascript和更多的這個單獨的位,作爲一個整體。爲什麼它加載緩慢?您可以啓用壓縮,利用CDN。

另外,看起來很奇怪FF會很慢。通常(總是?)它是IE最終變慢。你可能想嘗試另一臺電腦,看看它有多快。 FF中可能有擴展引起問題。

您還可以利用Chrome開發人員工具。檢查哪些部分或您的網站造成了最大的性能下降。因爲$(document).ready()正在等待DOM加載,所以單個元素可能是性能問題的原因。

+1

@sephiith,你可能也想用Firebug插件(網絡面板)來分析你的負載。我看到很多等待接收的項目,尤其是在下載您的JavaScript文件時。您還可以使用YSlow插件來獲取關於加快速度的報告和建議。目前您的總分爲C(例如:您的網站在測試中使用GZip時獲得F)。 –

+0

非常感謝!這有幫助。 – sephiith

相關問題