首先我们测试了老师反馈的异常情况。这所中学使用的是 IE8 浏览器。IE8 浏览器提交作文评分的情况是:一直停留在“正在提交系统评分”的页面,停留了很长时间以后,页面空白。

换用火狐浏览器,可以正常评分。
个人思考:可能是在 IE 浏览器下使用 jQuery 的 ajax方法失效。因此前端代码不能正确调用后台的方法,因此我们系统的“每隔30秒自动保存”的机制也失效了。(其实在后面的分析中,我们可以看到,这只是假象。)
于是我们很自然地想到的解决方案就是让用户更换浏览器,IE 浏览器虽然现在还是占有一席之地,但 IE8 这个版本已经有些“落伍”,这种要求我个人认为也只能蒙蒙不懂计算机的老师,这位老师也表示同意。鉴于谷歌浏览器不能选择安装路径而自动安装在 C 盘,该校机房计算机 C 盘重启之后会被还原。我们为每台计算机在 D盘 安装了火狐浏览器。火狐浏览器是一款相对主流的浏览器,我们选择这款浏览器的一个最主要原因是因为它是“绿色的”,即无须安装或者配置环境变量等繁琐步骤,只要把安装好的文件夹放置在用户磁盘里,直接运行 exe 文件,就可以启动该浏览器。
其实这一次拜访客户就这样结束了。

回来之后,我又想了一下今天发生的事情:

1、首先,教师反馈的学生作文不能保存的问题,我还没有在 ie8 浏览器下测试我们写作系统的保存功能;

所以第二天一早来到公司,我就开始了测试。果然,老师反映的问题复现了。但是我发现了一个奇怪的现象。在网页的左下角,显示如下。

2、于是,我还是习惯性地点进去看了一下,有新发现,使用 jQuery 的 ajax方法失效或许只是一个更底层的原因。表面上的原因有:

(1)jQuery 的版本太低:

(2)ie8 不支持调试的方法 console.info 方法,导致后面的代码不能正确解析,才导致需要使用 ajax 调用后台代码的地方失效。

今天来办公室使用 IE8 浏览器测试了一下,果然是 jQuery 不支持 IE8 浏览器造成的。解决的办法是降低这个页面的 jQuery 版本,以支持该页面调用后台的方法。另外,还要加强测试。
实际上 jQuery 的ajax 不支持 IE8 是一个假象, IE8 为调用到后台方法是因为我在页面上写了 console.info 调试信息( console.info 主流浏览器基本都支持),但是 IE8 浏览器不能识别该方法,导致好像 IE8不能调用到后台方法的假象。我把 console.info 调试信息都去掉就没有问题了。根据郭老师的意见,也顺便检查了系统中是否还有 console.info 调试信息,如果还有,将其删除,并更新相关文件到服务器上。

一个关于 ie 浏览器的 bug 解决过程和思考的更多相关文章

  1. android一个下拉放大库bug的解决过程及思考

    android一个下拉放大库bug的解决过程及思考 起因 项目中要做一个下拉缩放图片的效果,搜索了下github上面,找到了两个方案. https://github.com/Frank-Zhu/Pul ...

  2. 记录一次bug解决过程:eclipse集成lombok插件

    一 总结 eclipse集成插件lombok: 启动Spring Boot项目: sublime全局搜索关键字:ctrl + shift + F JDK8中的lambda表达式使用 二 BUG描述:集 ...

  3. springboot中json转换LocalDateTime失败的bug解决过程

    环境:jdk1.8.maven.springboot 问题:前端通过json传了一个日期:date:2019-03-01(我限制不了前端开发给到后端的日期为固定格式,有些人就是这么不配合),      ...

  4. 记录一次bug解决过程:数据迁移

    一 总结 不擅长语言表达,勤于沟通,多锻炼 调试MyBatis中SQL语法:foreach 问题:缺少关键字VALUES.很遗憾:它的错误报的让人找不着北. 二 BUG描述:MyBatis中批量插入数 ...

  5. 记录一次bug解决过程:git深入学习和JDK8新特性

    一 总结 熟悉廖雪峰git基础; 由于git跟踪的是修改,而不是版本号:因此对于修改撤销的操作,文件在eclipse中依旧有>修改标记,这点不同于svn. 二 BUG描述:熟悉Git基础 在Gi ...

  6. 记录一次bug解决过程:else未补全导致数据泄露和代码优化

    一.总结 快捷键ctrl + alt + 四个方向键 --> 倒置屏幕 未补全else逻辑,倒置查询数据泄露 空指针是最容易犯的错误,数据的空指针,可以普遍采用三目运算符来解决 SVN冲突解决关 ...

  7. 记录一次bug解决过程:velocity中获取url中的参数

    一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...

  8. 记录一次bug解决过程:规范变量名称和mybatis的使用以及代码优化

    一.总结 Mybatis中当parameterType为基本数据类型的时候,统一采用_parameter来代替基本数据类型变量. Mybatis中resultMap返回一个对象,resultType返 ...

  9. Bug解决过程复盘

    反思了下,解决问题无外乎3w1h when where who how 就是查询出来的事情多了,现在不知道哪个地方出问题,应该根据日志一步一步梳理,查看每一步的输出结果是否与预期一致 顺藤摸瓜 觉得不 ...

随机推荐

  1. SpringCloud启动Eureka server时报错 java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present

    SpringBoot打开Eureka server时出现以下错误: java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext ...

  2. Implement Queue using Stacks(用两个栈实现队列)

    来源:https://leetcode.com/problems/implement-queue-using-stacks Implement the following operations of ...

  3. K-th Number Poj - 2104 主席树

    K-th Number Poj - 2104 主席树 题意 给你n数字,然后有m次询问,询问一段区间内的第k小的数. 解题思路 这个题是限时训练做的题,我不会,看到这个题我开始是拒绝的,虽然题意清晰简 ...

  4. Visual Studio 2017打包安装项目

    在我们用VS编好上位机后,就可以在自己电脑运行上位机,但是想其他人电脑运行上位机可能就行不通了,因为其他人电脑不一定有所需要的运行环境.这时我们就需要打包安装,把运行软件所需要的环境都打包在安装包里. ...

  5. Ftp客户端(上传文件)

    #coding=utf-8 import os import socket import hashlib import json # client = socket.socket() #申明socke ...

  6. 攻防世界--re-for-50-plz-50

    RetDec是真的难安装,太笨了~~~ 1.准备 获取信息 32位文件 2.IDA打开 发现这是MIPS代码.本来准备安装RetDec,哎...还是恶补MIPS指令知识吧:https://www.cn ...

  7. Vue Login by Google

    vue-google-oauth2 来源:https://www.npmjs.com/package/vue-google-oauth2

  8. CSS高度坍塌原因及解决办法

    在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高. 但是当为子元素设置浮动以后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷.由于父 ...

  9. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (4/4)

    选择自己创建的安装数据库路径. Sample Schemas 打钩. 调整内存大小. 选择官方建议的字符集编码. 是否创建创建的脚本,如需要请打钩. 脚本生成成功. 创建成功,如需要,则可以管理数据库 ...

  10. ABBYY FineReader 14.0.107.232 Enterprise 下载和安装使用

    目录 1. 按 2. 软件功能 3. 软件特色 4. 安装说明 5. 激活说明 6. 下载地址 1. 按 ABBYY FineReader 是款功能强大的OCR文字识别软件:它支持者用户进行使用文档的 ...