Safari 的 JavaScript 解析引擎
昨天在对旧项目做修补的时候,重写了一个通用的 Validator 类,本来打算以后在其他项目中也可以使用。写完以后在浏览器下测试,Internet Explorer,Firefox 下都表现得非常好,然而在 Safari 下,无论如何都没有反应。
由于当时是作为表单验证的,绑定在 onsubmit 事件中, onsubmit="return checkForm();"
。第一反应就是:难道 Safari 不支持这种写法?来来回回折腾了半天,终于发现问题了。在类的内部,一个方法定义中,变量没有加 var 声明。因为这个原因,导致 JavaScript 解析到这里出错,类无法加载。偏偏我的 Safari 没有调试工具,JavaScript 错误也没有提示,郁闷啊。