不同机器上相同浏览器版本的JavaScript行为不一致
Inconsistent JavaScript behavior on same browser versions across machines
我看到了最奇怪的事情,需要一些帮助来确定发生了什么。我在Microsoft SharePoint服务器上运行了一些JavaScript,它会发出异步图像请求。
当我在我的32位&64位IE9浏览器,代码按预期运行。当我的同事在他的32位和64位IE9中加载完全相同的页面(从预定义列表中提取)时(注意,所有浏览模式都设置为相同的值),图像请求不会发出。
但是如果我的同事打开开发工具并再次关闭它们(不使用它或提交任何命令),然后重新加载页面,则请求正确。如果他关闭浏览器并重新打开它,它将停止工作,直到重新打开开发工具。
没有ActiveX、flash或其他任何东西。它是100%的JavaScript,所以我完全不知道如何解决问题。有人能告诉我发生了什么吗?或者给我指明正确的方向吗?
需要注意的事项:
- 他的系统确实启用了JS——页面上的所有其他JavaScript对他来说都运行良好,似乎只是我的JavaScript受到了影响
- 我们都测试了Chrome和Firefox,它们都取得了成功
- 我们都在IE9、IE8和IE7的不同浏览器模式下进行了测试(通过IE9可执行文件)
- 如果重要的话,我们都在Windows7上
我已经找到了问题的根源,它确实与console.log()有关。基本上,我从微软直接学到的是,只有打开浏览器的开发工具,window.console对象才存在。在第一次打开它之前,没有window.console,引用它会产生代码中断错误。
我发现这是一个特别烦人的bug,因为我习惯于使用控制台跟踪bug。。。无论如何,MS说这个问题在IE10中得到了解决,但对于我们这些必须支持当前/以前版本的人来说,明智的做法是为这个函数使用一个包装器,在调用它之前测试window.conf的定义(我实际上有一个用于其他目的的包装器,所以我很容易添加测试条件)。
希望这能帮助其他同样难以追踪IE漏洞的人。
相关文章:
- Android和JavaScript解析API之间不一致
- Javascript的行为与PHP包含文件不一致
- JavaScript - 对象属性不一致
- Javascript 混淆了 null、instanceof 和 typeof 的语法不一致
- JavaScript行为不一致
- Javascript:为什么我的Raphaeljs动画滞后?它'It’s甚至不一致
- 与Javascript中的2D数组和for循环不一致
- HTML/Javascript - 定位不一致
- JavaScript 比较运算符中的不一致
- Excel公式到Javascript,工作但不一致
- Photoshop JavaScript 图像的位置不一致
- JavaScript 滚动事件不一致
- 从 PHP 到 JavaScript 的传输值不一致
- 与 Youtube-api Javascript 不一致,连接速度慢
- Facebook Javascript SDK getLoginStatus 返回未知(完全不一致)
- 不同机器上相同浏览器版本的JavaScript行为不一致
- Javascript验证不一致
- Javascript Date方法不一致-getDate与getMonth
- Javascript子字符串()不一致
- 部署网站时的Javascript不一致行为