之前在维护网站的过程中发现了一个问题,就是在lE浏览器升级到了IE之后,后台编辑功能的所有按钮都失效了,以前也曾经遇到过类似的情况,完全是浏览器设置的问题,本以为是浏览器安全系数设置过高而导致的,但是经过自己一个下午的检查,问题依旧存在。看来,这次的问题不同寻常了。到百度上搜索了一下,出来了很多种答案,大部分纯属无稽之谈,把网络上的方法一一尝试,但是没有一个成功的,虽然问题依然没有解决,但是却也给自己打开了思路,也基本上让我明白了首先应当解决的问题。
首先把问题定位到admin(即网站后台管理)之下的edit(编辑),结果在edit下面发现了eWebEditor.asp的存在,于是问题变得简单了,需要面对的是文件Admin(文件夹下内容)、ButtonImage(文件夹下内容)、css(文件夹下内容)、db(文件夹下内容)、Dialog(文件夹下内容)、Include(文件夹下内容)……根据经验,首先是查找和edit有关的文件或者文件夹,但是在Admin/edit下面确实没有和edit有关的文件,于是很自然的就定位到Include文件夹下的editor.js。
打开editor.js文件,使用新的editor.js进行替换,我们只需要把新版的内容完全覆盖原版的内容就可以了。我们分析这两个editor.js文件,可以看到不同的只有以下两句代码。
具体的原因就是因为IE屏蔽了anonymous方法,所以要更改成onclick的方法才行,同时为了不失去以前的IE6、IE7等的功能,所以又做了个if......else语句。
好了,以上就是解决问题的方法,对于替换不是很在行的用户,直接使用我提供的新版editor.js代替旧版就可以了。