网页运行时错误

网页运行时错误

问题描述:

当我使用网络时,我经常会通过弹出窗口报告运行时错误(通常是javascript)。这可以使许多其他优秀网站上的用户体验真的不令人满意,也让我想知道我无法访问哪些功能。网页运行时错误

为什么这是一个这样的常见问题?这是缺乏测试还是浏览器兼容性问题?可以做些什么来最小化这种问题?

意外地,我没有选中“显示关于每个脚本错误的通知”。

它的一些问题。

  1. 许多网页创作者从网站上复制和粘贴JavaScript代码。他们不是程序员,可能不了解语言的细微差别。
  2. 缺乏良好的测试框架(至少我不知道任何)。对于Java,我们有JUNIT和.NET NUNIT等,目前很难自动化JavaScript测试。
  3. 可怜的IDE支持。直到最近,大多数IDE在支持JavaScript方面做得并不好。现在我看到了更多的支持,但仍然不是那种核心语言。
+0

对于JavaScript,EcmaUnit存在并已存在一段时间,似乎(http://debris.demon.nl/)。 (免责声明:我没有任何经验:) – warp 2008-11-11 20:43:04

在JavaScript中犯错很容易。直到最近,Aptana还没有很多用于编写JavaScript的好工具。没有语法检查或编译的好处,小的打字错误可以使其进入页面。除此之外,有时候在一个浏览器中正常工作的代码会导致另一个浏览器出错。例如,我看到一个jQuery插件,它在IE中不起作用,但在其他所有浏览器中都没问题。它变成了一个没有'var'关键字的变量。火狐浏览器和Safari浏览器都可以,因为IE不是,所以编写代码的人甚至都不知道这是一个问题。

我把它归结为缺乏测试。

是的,问题通常是测试。大多数严重开发人员将尝试在许多浏览器中测试他们的网页,但有很多浏览器和版本,因此您无法真正测试它们。

我通常会在使用Opera和Firefox进行设计时进行测试,而我的使用Mac的同事也在Safari中测试过它;然后不时引导一个Vista盒子(我正在运行linux和IE的linux版本并不可靠,以复制所有奇怪的IE行为)并在IE(通常是7和8测试版)上测试它。我会推荐给任何web开发者而不是来设计使用IE!错误最多的网站显然是“为IE设计的”,因为它们几乎不能在其他浏览器中运行,并且会出现更多错误。如果你设计使用标准和测试,使用相对标准的兼容浏览器,如Opera,Firefox和Safari,然后添加可怕的黑客IE浏览器,最好使用conditional comments(虽然它是非标准和专有的,幸运的是,正确地认为,由真正commendt浏览器,所以你不会打破工作代码)你有更少的问题。

错误的另一个原因是,一个使用框架设计为解决浏览器差异和副作用,或者可能仅仅是因为错误,在一些浏览器中弹出错误消息。我当然没有时间去修正一个框架来删除错误信息,除非我可以解决这个问题并且基本上可以工作,否则我必须忽略这些错误信息,可能会提交一份报告并希望它能够修复下一个版本(甚至更好的希望IE突然和神奇地不再存在:)