教务系统对于弹出窗口使用的是showModalDialog这个方法,然鹅这个方法的接口是微软在IE4时引入的,新浏览器在更新后绝大多数都已经不再支持这个接口了。因此也就导致了点击没有反应的问题,根本就没有这个方法啊怎么给你弹😂??

图1 图1. 无响应的图。点击这里后会没有反应

图2 图2. 错误提示。Console中也很直观地显示了没有这个函数

如图1和2,点击评教后不会有任何反应,在Console中可以看到这个错误提示。当然,我们也不可能去专程安装一个XP去使用老版本地IE,这样过于麻烦。可以试试下边给出地方法,使用Chrome或者Firefox都可以。

如图2,提示在common.js 的第134行有错误,直接点击这个common.js即可开始浏览代码。

图3 图3. 代码。问题代码就在这一行

此时,把下面的代码复制到134行前,使其成为图4的样子,然后按下Ctrl+S保存一下,再去点击评教,就可以点开了。但是记得,这个js是本地修改了的,刷新页面后如果js被更新的情况下,还是需要再次手工修改一遍才行。

window.showModalDialog = function(url){ 
    if(window.hasOpenWindow){  
        alert("已经打开一个窗口了");
        window.myNewWindow.focus();  
    }  
    window.hasOpenWindow = true;  
    window.myNewWindow = window.open(url);  
} 

图4 图4. 修改后的代码。记得Ctrl+S保存

图5 图5. 效果图。已经可以点开评教了

图6 图6. 评教成功

如图5,点击后已经成功弹出评教窗口了,评教后如图6,在上一页上刷新后也已经显示评教成功了。

使用Edge或者Firefox的话,原理都差不多,也是修改js即可,就不多说啦