• 一次javascript程序排错


    背景: 

    最近用了第三方的开发的一个控件显示甘特图,这个控件是基于extJs开发的。

    虽然有控件和extJs的文档,但只有用的时候才去翻,不去细究。大部分文档不需要参考,根据提供的Demo例子即可完成功能开发。

    但是程序发布后在客户那里无法显示,提示脚本执行时间过长。

    问题分析:

     客户用的是win2003和ie8环境。开发是基于win7和ie9。本地测试是没有问题的,包过用ie8访问win7服务端。

    可能原因有

    1、IIS6性能不如IIS7,导致其中的大量ajax数据请求缓慢,超过了浏览器容忍范围。

    2、 IE8的javascript引擎不如IE9和chrome。

    3、程序有问题,客户端或者服务端请求过程有大量循环。 

    排除问题 :
    装了虚拟机,完全重现客户环境,测试控件原始demo,虽然缓慢,但是能够呈现,排除1,2。

    开始删减代码到demo。终于到删掉一段日期创建的代码后,控件可以显示了。 

    解决问题:

    经测试 ie9和chrome是可以创建new Date('2012-9-17') ,ie8 返回 NaN。导致不报错,且不能正常运行。

     之后做了简单错略测试

    ie9 直接读取ajax请求结果,耗时大概1.5-1.6s  chrome 350ms左右。

    ie9 直接读取请求前临时生成json.js文件 耗时大概 1.3-1.4s  chrome 不到300ms 。

    两者差别不大。测试生成的文件一个34kb,一个15kb。

    关于建立在win7上服务器,ie8访问正常的原因至今不明。期待高手赐教。 

  • 相关阅读:
    LOJ6274 数字
    test20200415 看门人 和 WC2010 重建计划
    TJOI2018 Party 和 HDU4352 XHXJ's LIS
    LOJ3228 Tree Depth
    AGC026D Histogram Coloring
    LOJ3277 星座 和 BZOJ2616 PERIODNI
    LOJ2331 某位歌姬的故事 和 CF1327F AND Segments
    AGC024F Simple Subsequence Problem
    LOJ3278 收获
    LOJ3282 治疗计划
  • 原文地址:https://www.cnblogs.com/wellma/p/2688991.html
Copyright © 2020-2023  润新知