我花了很长时间在我们的前端添加大量 Javascript。我在使用 FF (11.0) 时一直这样做。我刚刚将所有更改(在我的本地沙箱上运行良好)提交到我们的开发服务器,QA 测试人员注意到在 IE 8 中查看页面时缺少整个 div。
这个 div 使用 jQuery 完成各种奇特的功能,允许用户展开/折叠 Accordion 面板,以及从展开的 Accordion 面板中拖放图像等。
现在是晚上 10 点,在解决好这个休息问题之前我无法上床 sleep 。我尝试过使用 IE 附带的 IE 开发工具栏(通过 F12 按钮访问),希望它能捕获一些错误的 Javascript,但是 nodda。 Firebug 也一样。 JS 看起来很好,只是 IE 比较顽固。
要开始弄清楚为什么 IE 不会显示我的 jQuery 重 div,需要采取哪些步骤?这确实不像一一撤销更改那么简单,因为我的代码在整个 JS 页面中散布和交织着函数和调用。预先感谢您在正确方向上的任何指示或插入。
最佳答案
F12 开发者工具
如果使用得当,F12 开发工具通常能够在整个代码中发现奇怪的问题。您可以审核您的应用程序以查找长时间运行的进程、添加断点并在页面的生命周期中监视变量。
IE 兼容性检查器
另一个很棒的工具是 IE Compat Inspector,它将检查您的代码并查找可能会破坏 Internet Explorer 中的网站的任何类型的模式或用法。您可以在线找到此信息:http://blogs.msdn.com/b/ie/archive/2011/04/27/ie9-compat-inspector.aspx对于 Internet Explorer 9 和 http://blogs.msdn.com/b/ie/archive/2012/01/20/ie10-compat-inspector.aspx适用于 Internet Explorer 10。
ECMAScript 兼容性图表和 Polyfills
我们经常混淆哪些浏览器支持哪些功能。它有助于保持良好的状态compat chart方便,这样你就知道 IE 是否支持 classList
。如果您发现 Internet Explorer 中未实现某些功能,那么就该寻找填充程序了。幸运的是,there are many .
网络调试代理
这些只是一些可用于在 Internet Explorer 中对网站进行故障排除的工具。最后是Fiddler 2 (网络调试代理),它允许您站在客户端和服务器之间,篡改双向数据。当我调试脚本时,我通常使用它来提供自定义文件来代替实时服务器文件。但是,如果您目前可以直接访问服务器,则这并不是必需的。
关于javascript - 当 FF 正常时如何调试损坏的 IE 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360020/