我的公司通过使用IE6,7,Firefox和Safari获得了出色的用户体验。我们90%的流量最终都是IE浏览器,其中60%的流量仍然是IE6。 IE6有一堆已知的问题,例如访问DOM对象时它们仍然被插入崩溃浏览器。在常规测试期间几乎没有这些问题出现,他们几乎总是包括一些奇怪的时间竞争条件,只影响我们本周最重要的客户。
您使用哪些过程或工具来确保代码中不存在导致IE崩溃的已知模式?
补充:对于那些建议坚持第三方库的人:我同意它会有很多帮助,但你仍然需要将这些API与Javascript结合在一起。有没有人不只是在他们的手指上等待外面的人让他们知道代码刚刚崩溃他们的系统?
答案 0 :(得分:1)
我们不担心。相反,我们使用第三方工具,如jQuery(嗯,完全,就像我们公司的jQuery一样),以确保处理跨平台的特性。
答案 1 :(得分:1)
我建议你尽可能多地依赖流行的第三方框架。他们经历了比您可以执行的更多的修改和测试。显然这意味着你应该使用jQuery来完成所有与JS相关的工作。
不幸的是,这些浏览器漏洞没有灵丹妙药,只要你使用JS& HTML将继续有这些陷阱。最好的情况是你可以编译它们的列表,在博客上发布它们,让社区讨论它们并确保所有开发人员都学习它们。
这是为什么Flash和SilverLight存在的一个例子,考虑到你花费了不可测量的时间来开发你的UI,这看起来像是令人震惊的建议,但是如果你想要摆脱浏览器/操作系统错误,那就去1公司交付套餐是打破网络漏洞99.9%障碍的唯一途径。
答案 2 :(得分:1)
我在window.event.srcElement上尝试(它只能在IE中工作)并将非IE内容放入catch中,并在最终中将内容绑定。
所有其他浏览器似乎都在使用window.event.srcElement抛出异常,所以我首先使用该行,如果它被传递到该行,它显然是IE,所以我将我的IE代码放在那里,如果它曾经去过抓住它显然是一个更符合标准的浏览器,所以我把备用代码放在那里。
在使用涉及鼠标事件的服务器端代码动态编写Javascript事件时,这已经拯救了我很多。
希望有所帮助,为您提供一种支持多个浏览器使用不同代码而无需服务器端检测的方法。
是否相信它的一些jQuery(和其他库)函数不能在所有浏览器上运行。
答案 3 :(得分:-1)
相信它或不是一些jQuery(和 其他库)功能不起作用 在所有浏览器上。
当然,如果你涉及IE5或NN4,jQuery可能不是最好的选择。否则,你不会有这个问题。 我使用jQuery作为一个巨大的网站,我没有库的问题。我有插件问题,但这是一个不同的故事。 顺便说一句,我的文件中只有不到10行纯js。如果你学会有效地使用jquery,你将不需要任何js知识(听起来很奇怪,但......这是我的情况:P)