1

aspファイルの本文でjqueryを実行しています。それが影響を与えるのはドロップダウンメニューの直後です。スクリプトは正常に動作します。問題は、Firefoxにスクリプトをロードするのに時間がかかることです。

本体またはヘッダーでこれを上に移動せずに、これを高速化するにはどうすればよいですか。

注:提供されているリンクはライブWebサイトです。古いバージョンのjQueryを使用しているため、オブジェクトエラーが発生していることを認識しています。(当社の内部Webサイトでは、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>
4

1 に答える 1

2

onドキュメント全体に使用しています。基本的に、イベントが最高レベルまでバブルするのを待っています。要素を直接監視します。

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

パフォーマンスが大幅に向上するという点では、JavaScriptのこの個々のビットではなく、サイト全体でより多くのことを確認します。読み込みが遅いのはなぜですか?圧縮を有効にし、CDNを活用できます。

また、FFが遅くなるのも不思議に思えます。通常(常に?)遅くなるのはIEです。別のコンピューターを試して、その速度を確認することをお勧めします。問題を引き起こしているFFの拡張機能があるかもしれません。

Chromeデベロッパーツールを活用することもできます。どの部分またはサイトが最大のパフォーマンスヒットを引き起こしているかを確認します。はDOMのロードを待機しているため$(document).ready()、単一の要素がパフォーマンスの問題の原因である可能性があります。

于 2013-01-25T01:41:30.500 に答える