javascript-如何在JS / Update面板站点中调试此内存使用情况/ dom使用情况增加
作者:互联网
我希望一些Javascript / ASP.Net专家可以在这里给我一些提示.
我编写了一个(不幸的)使用UpdatePanel的应用程序(是的,我知道这是一个愚蠢的主意,虽然为时已晚,但我现在已经了解得更多了-尽管我在Intranet网站上遇到了麻烦)
该站点是基于Web的时间表站点,是一种表格格式.无论如何,它基本上将所有内容保存在更新面板中,并且每分钟自动保存一次.这似乎对我来说很好,但我使用Firefox.其他具有更多时间表条目的用户,以及IE7,都存在IE内存使用增加和浏览器速度变慢的问题.
我运行了Sieve(检查网站上的内存泄漏),这很明显很糟糕:
alt text http://rodh.org/images/Programming/sievemain.png
多数民众赞成在我的网站加载完毕并保持运行一会儿,在浸入时刷新它并离开了它,您可以看到它每分钟跳一次.浸入前的时间轴上的区域是当我稍稍按下保存按钮时,因此很明显是由什么引起的. DOM节点和内存都上升.
我使用的是ScriptManager.RegisterClientScriptBlock(主要是获取控件的clientID,以便可以进行JavaScript总计),还使用page_load上的ScriptManager.RegisterStartupScript将焦点设置为部分回发后相同.也许他们正在贡献力量?
有没有什么工具可以帮助我进一步做到这一点? Sieve报告发生回发时产生了大量空div?我以前从未使用过筛子,所以也许这总是发生吗?
alt text http://rodh.org/images/Programming/sievnodes.png
有什么我可以做的代码分析,或者至少可以让我看到每次创建的新DOM节点的代码分析…
我在想问题可能与黑客背后的代码有关,以获取客户端ID,将其存储在一个数组中,然后在每个回发中重新创建htht数组,也许那里出了问题?
我已经上传了执行该黑客操作的JS文件,以及后面的代码,以防有人需要更多信息.
http://rodh.org/images/Programming/javascript.txt
http://rodh.org/images/Programming/codebehind.txt
所以我想我的问题是:
-有人能立即想到会导致这种情况的任何事情吗?
-在UpdatePanels上增加DOM使用率的一些常见原因是什么(也使用Jquery)
-我可以使用哪些工具进行调试?
解决方法:
我可以直接告诉您Microsoft知道有关UpdatePanels的IE问题(KB 2000262).它是DOM分析器问题.我有一个网站,可以运行到一定的页面内容大小,然后IE(所有版本)都适合. FF和其他浏览器可以轻松处理相同的页面.
我做了一些使我的页面更快的事情:
>尽可能使用UpdateMode = Conditional
>实施KB 2000262修复
UpdatePanel Async Postsback slow in IE…Part 3
标签:performance,updatepanel,asp-net,javascript 来源: https://codeday.me/bug/20191107/2002590.html