gpt4 book ai didi

瘦客户端和 pc 之间的 javascript 性能

转载 作者:行者123 更新时间:2023-11-29 15:05:36 24 4
gpt4 key购买 nike

我有一个使用瘦客户端(bosanova 终端)作为用户前端的网络应用程序。我注意到瘦客户端和 PC 之间的 JavaScript 存在一些性能差异。终端运行的是嵌入了 IE6 的 Windows XP,我所指的页面是利用原型(prototype) JS 框架对表单元素进行一些相当简单的验证。

例如,以下是我用来确保填充必填字段的内容。
还有两个类似的 .numeric 和 .alaphanumeric,它们会相应地进行测试并推送错误以停止提交表单。

$$( '.requiredfield' ).each( function ( elem ){
if ( ( $( elem ).value.length == 0 ) || ( $( elem ).value == null ) ) {
$( elem ).addClassName( "nonvalid" );
$( elem ).siblings().first().addClassName( "error" );
requiredErrors.push( $( elem ) );
}

});

我看到的问题是在 Firefox 或 IE 中的 PC 页面上有 5-20 个字段的表单处理时间可能比没有验证的时间长半秒。然而,在终端上,运行验证所需的时间比没有它的同一页面要长 15-25 秒。正如我相信我已经提到的,我已经在 PC 上的 IE6 中对此进行了测试,并且没有看到性能损失。打给 Bosanova 的电话让我升级了终端中的内存,我在这篇文章发布之前就这样做了,结果没有改变。

我可以更改脚本,因此我只循环遍历表单字段一次并在处理过程中处理 .required .numeric .alphanumeric,我相信这会有所帮助。就像现在一样,PC 和终端(瘦客户端)之间的性能存在差异。我很想知道为什么。

如果有人有任何故障排除经验或知道为什么原型(prototype)/javascript 会在终端上遭受这样的性能损失,我将非常感谢一些提示。

更新:>>>>>>>>>>>>>>>>>

我一直在测试和研究这个问题,我想我会分享这个。昨天我们收到了一个更新的终端,我加载并测试了它。运行 IE6 的新终端与任何其他浏览器一样完美运行。当然它比 PC 慢一点,因为 1. 它运行 IE6 和 2. 它是一个瘦客户端,但速度差异为数百秒,而运行相同脚本的速度差异为 10-50 秒。 2 种不同的瘦客户端的物理规范差别不大,1.2 ghz(旧)与 1.6 ghz(新)内存相同,HD/DOM 为 512MB(旧)与 1gig(新)。仍然无法确定旧终端中发生了什么,但看起来与终端的特定型号/修订版有关。

更新:>>>>>>>>>>>>>>>>>

最佳答案

嗯,IE6 的 Javascript 引擎很慢 — 请记住,它可以追溯到 Microsoft 坚持任何真正的 Web 应用程序开发当然都应该用 ActiveX 完成的时代.在具有廉价且可能不太快的 CPU 的瘦客户端上,它会真的慢。

您可以通过更改选择器来稍微加快该代码的速度:

$$( 'input.requiredfield' ).each( function ( elem ){

关于瘦客户端和 pc 之间的 javascript 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3392013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com