1

我在 asp 文件的正文中运行一些 jquery。紧随其后的是它影响的下拉菜单。该脚本工作正常,问题是在 Firefox 中加载脚本需要一段时间。

如何在不将其在正文或标题中向上移动的情况下加快速度。

请注意:提供的链接是实时网站,我知道它正在触发对象错误,因为我有旧版本的 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>
4

1 回答 1

2

您正在使用on整个文档。基本上是在等待事件一直冒泡到最高级别。直接监控元素。

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

就更大的性能提升而言,我会更少关注这个单独的 javascript,而更多地关注您的网站作为一个整体。为什么加载缓慢?您可以启用压缩,利用 CDN。

另外,FF会很慢似乎很奇怪。通常(总是?)IE 最终会变慢。您可能想尝试另一台计算机,看看它有多快。FF 中可能存在导致问题的扩展。

您还可以利用 Chrome 开发人员工具。检查以查看哪些部分或您的网站对性能造成的影响最大。因为$(document).ready()正在等待 DOM 加载,所以单个元素可能是导致性能问题的原因。

于 2013-01-25T01:41:30.500 回答