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

为什么这是一个常见的问题?这是缺乏测试还是浏览器兼容性问题?可以采取哪些措施来减少这类问题?

我显然没有选中“显示每个脚本错误的通知”。

有帮助吗?

解决方案

它有很多问题。

  1. 许多网页创建者都会从网络上复制并粘贴JavaScript代码。他们不是程序员,可能不会欣赏语言的细微差别。
  2. 缺乏良好的测试框架(至少我不知道)。对于Java,我们有JUNIT和.NET NUNIT等。此时很难自动化JavaScript测试。
  3. IDE支持不佳。直到最近,大多数IDE都支持JavaScript。现在我看到了更多的支持,但仍然不是那种核心语言。

其他提示

我把它归结为缺乏测试。

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

是的,问题通常是测试。大多数认真的开发人员会尝试在许多浏览器中测试他们的网页,但实际上有很多浏览器和版本,所以你无法真正测试它们。

我通常在使用Opera和Firefox进行设计时进行测试,而我使用Mac的同事也在Safari中进行了测试;然后不时启动一个Vista盒子(我正在运行linux和IE浏览器的Linux只是不可靠复制所有奇怪的IE行为)并在IE上测试它(通常是7和8 beta)。我建议任何Web开发人员使用IE进行设计!具有最多错误的网站显然是“为IE设计的”。因为它们几乎不能在其他浏览器中运行并且会出现更多错误。如果您使用标准进行设计并使用相对标准的兼容浏览器(如Opera,Firefox和Safari)进行测试,然后使用条件评论(尽管它是非标准和专有的,但幸运的是,正确地,被真正的浏览器视为表达,所以你赢了'打破工作代码)你遇到的问题更少。

错误的另一个原因是,一个使用框架设计用于解决浏览器差异,并且作为副作用,或者可能仅仅是因为一个错误,在某些浏览器中弹出错误消息。我当然没有时间修复框架只是为了删除错误信息,除非我能解决问题并且它基本上无论如何都要工作,我必须忽略错误信息,可能会提交报告并希望它将被修复下一个版本(甚至更好的希望IE突然而且神奇地停止存在:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top