javascript - Notes 7.0.3 客户端在没有太多 JavaScript 的表单上编

直奔问题,然后是背景。

什么会导致 Notes 7.0.3 客户端抛出 JavaScript 错误“编译 JavaScript 时出错”?

追问:在 Notes 客户端中跟踪 JS 错误的好工具是什么?

我的怀疑:
- 由开发人员编写的片状 JS
- 用户输入异常
- 内存管理问题(Win XP、SP3)
- 损坏的 Notes 安装。

我已尽力解决前两个问题,但我自己无法重现错误......下面的详细信息。

谷歌出现“编译 JavaScript 错误”的结果为零,我已经通过我通常的 channel 来寻找奇怪的 Notes 错误,但无济于事。

回顾:Notes 7.0.3 客户端抛出 JavaScript 错误:当 Domino Designer 8.x 编译的表单已打开并在某些机器上运行(您猜对了)而不是所有机器时,编译 JavaScript 时出错。两名用户提示说,在表单处于编辑模式而没有做任何其他事情的 10 -15 和 45-50 分钟后,将引发错误。他们说,“只需编辑并放手”。我得到了他们正在运行的相同版本的硬件和软件(等待一个停下来向我展示他们在白天实际启动的内容)并试图重现问题但没有成功,甚至将表单留在编辑模式下天。

有问题的 JavaScript 非常简单。事件 onFocus() 调用使用 setInterval 跟踪输入字段长度以提供验证的函数,但不需要输入这些字段即可出现错误。 OnLoad 调用了一个函数,该函数使用一个自定义构建的 JS 函数来替换子字符串,该函数被广泛部署而没有发生事故。所有这一切似乎对我自己和我们的 QA 小组都很好,他们在部署之前对此进行了彻底的测试。

所以我的想法是可能有一些内存问题影响了他们的 Notes 客户端,或者某些东西导致他们的 Notes 客户端安装变得不稳定,可能需要重新安装。任何关于如何导致或如何防止它的想法将不胜感激。

最佳答案

当您在给定字段上的编辑时间很长时,答案似乎是“不要这样做”(这里重要的时间段 100 毫秒给我们 5 分钟左右,600 毫秒到 18 或 20 分钟)。

至少在 Notes 7.0.3 客户端中,在短期内使用 setInterval 在合理的时间段内(比如 500 毫秒)是可以的,尤其是在输入很短且用户以正常速度浏览字段的情况下。

但是,一旦您达到文档已打开很长时间并且没有使用 clearInterval 清除间隔的情况(例如从 onBlur() ),内存就会以可预测的方式开始泄漏。

在我们的区间目标函数中发生的唯一操作与获取和设置文档对象的值有关。如果我将所有内容都注释掉,则没有问题。

关于javascript - Notes 7.0.3 客户端在没有太多 JavaScript 的表单上编译 JavaScript 时抛出错误。关于潜在原因的任何想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3700959/

相关文章:

c++ - 有人如何定义数据类型,然后在数据类型定义之后立即在同一文件中包含的其他文件中使用它

function - CUDA FORTRAN : function gives different

c# - C#编译器使用CodeDomProvider的详细输出

xcode - 使用Xcode测试为Objective-C++代码库设置单元

xcode - 对于此SCM错误,我该怎么办?

api - 获取无效的Authsub token 错误403

gcc - gcc从stdin读取gnu readline()的编译错误

compiler-errors - Fortran 77中的“Unexpected Array Re

gcc - 有没有办法在gcc中使用内联asm使用在编译时求值的表达式?

iphone - 清除所有目标/清空缓存后,iPhone生成错误