Discuz7.2完美兼容IE9方案(非兼容模式),也是本站正使用的方案
这个方案,AJAX跳转无响应问题是来自于那个叫啥网站了,貌似是IT公社。 
管理菜单问题和兼容模式问题是稻草站长自行研究出来的。 
好了 ,步入正题。按照下面的步骤修改: 
  
1.首先先打上DISCUZ官方的补丁:http://www.discuz.net/thread-2050393-1-1.html,但是这样并不完美,咱们继续改。 
 
2.解决AJAX跳转无反应问题 
    修改include/js/common.js 
    把ajaxpost函数替换为(就是自己看ajaxpost下面的大括号,自己应该能判断哪个是ajaxpost的内容的[注意:是function ajaxpost,改的内容从function ajaxpost开始,截止到function ajaxmenu上面(不包括function ajaxmenu),这里就是function ajaxpost的内容了,很多朋友说不行,估计就是这里没改好,改的时候得小心点,看准了]): 
-----由于代码中有特殊符号,没法发上来,所以我贴到一个txt里面了----- 
  ajaxpost.txt (1.82 KB)
 
 
3.强制为IE9模式(这样网站在IE9下就不会工作在IE7/8兼容模式下了,如果个个网站都用兼容模式,那还要IE9干啥)。 
    把头部(header.html)中的 
- <meta http-equiv="X-UA-Compatible" content="IE=X">
 
  复制代码 (X这里可能是7可能是8,因为有些站长可能自己改过,默认是7)。 
把X改为9,也就是 
- <meta http-equiv="X-UA-Compatible" content="IE=9">
 
  复制代码 
 
4.解决在IE9模式下帖子右下角勾上管理,但管理菜单不出来的问题。 
      moderate.js(貌似在/include/js下)大约50行的位置 
- function pidchecked(obj) {
 
 -         if(obj.checked) {
 
 -                 if(BROWSER.ie && !BROWSER.opera) {
 
 -                         var inp = document.createElement('<input name="topiclist[]" />');
 
 -                 } else {
 
 -                         var inp = document.createElement('input');
 
 -                         inp.name = 'topiclist[]';
 
 -                 }
 
 -                 inp.id = 'topiclist_' + obj.value;
 
 -                 inp.value = obj.value;
 
 -                 inp.style.display = 'none';
 
 -                 $('modactions').appendChild(inp);
 
 -         } else {
 
 -                 $('modactions').removeChild($('topiclist_' + obj.value));
 
 -         }
 
 - }
 
  复制代码 
      有浏览器判断,但经测试var inp = document.createElement('input');确实能在IE下执行,所以我们删除这浏览器判断,也就是把这堆代码改成: 
- function pidchecked(obj) {
 
 -         if(obj.checked) {
 
 -                 var inp = document.createElement('input');
 
 -                 inp.name = 'topiclist[]';
 
 -                 inp.id = 'topiclist_' + obj.value;
 
 -                 inp.value = obj.value;
 
 -                 inp.style.display = 'none';
 
 -                 $('modactions').appendChild(inp);
 
 -         } else {
 
 -                 $('modactions').removeChild($('topiclist_' + obj.value));
 
 -         }
 
 - }
 
  复制代码 
 
好了,去后台更新缓存,问题完美解决了。 
 
   该贴已经同步到 liyafe1997的微博 |