Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JavaScript 异常:错误的参数个数或无效的参数属性值 #23

Open
hotoo opened this issue Dec 2, 2014 · 0 comments
Open

Comments

@hotoo
Copy link
Member

hotoo commented Dec 2, 2014

脚本 A 上线后,脚本 B 中出现了大量的 JavaScript 异常:『错误的参数个数或无效的参数属性值』
主要在 IE 系列浏览器中,尤其以 IE8 等为主。

分析发现:

  • 脚本 A 在页面加载时创建了 DOM 表单元素,并进行了 form.submit() 操作。
  • 脚本 B 在页面加载到底部时,进行了修改 DOM 元素的属性操作。

但是本地自己的浏览器没有能够重现异常。

后来脚本 A 修改了执行时机,在 DOM Ready 之后操作 DOM,异常消失。


『错误的参数个数或无效的参数属性值』这个异常在网络上以 ASP, VBScript,ActionScript,PHP 等类型的语言中反馈较多。

JavaScript 语言对函数参数没有约束,无论是参数个数,或者参数值,都不会有异常抛出。
但是内置的 DOM 操作函数除外,他们一般有参数类型检查,传入非预期的参数或抛出异常。

另外,由于本地未能重现,说明有异常概率。有相关文章提供了因为系统动态链接库(DLL)问题导致这个异常发生,甚至影响到 Windows 系统控制面板的显示,可以通过运行重现注册动态链接库解决问题。

参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant