|新人报到(得20稻币)| |Windows专区| |Linux专区| |MacOS专区| |软件资源区| |杀毒软件| |共享上网论坛| |论坛闲聊区(水区)| |稻草QQ群|

返回列表 发帖

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)中的
  1. <meta http-equiv="X-UA-Compatible" content="IE=X">
复制代码
(X这里可能是7可能是8,因为有些站长可能自己改过,默认是7)。
把X改为9,也就是
  1. <meta http-equiv="X-UA-Compatible" content="IE=9">
复制代码


4.解决在IE9模式下帖子右下角勾上管理,但管理菜单不出来的问题。
      moderate.js(貌似在/include/js下)大约50行的位置
  1. function pidchecked(obj) {
  2.         if(obj.checked) {
  3.                 if(BROWSER.ie && !BROWSER.opera) {
  4.                         var inp = document.createElement('<input name="topiclist[]" />');
  5.                 } else {
  6.                         var inp = document.createElement('input');
  7.                         inp.name = 'topiclist[]';
  8.                 }
  9.                 inp.id = 'topiclist_' + obj.value;
  10.                 inp.value = obj.value;
  11.                 inp.style.display = 'none';
  12.                 $('modactions').appendChild(inp);
  13.         } else {
  14.                 $('modactions').removeChild($('topiclist_' + obj.value));
  15.         }
  16. }
复制代码

      有浏览器判断,但经测试var inp = document.createElement('input');确实能在IE下执行,所以我们删除这浏览器判断,也就是把这堆代码改成:
  1. function pidchecked(obj) {
  2.         if(obj.checked) {
  3.                 var inp = document.createElement('input');
  4.                 inp.name = 'topiclist[]';
  5.                 inp.id = 'topiclist_' + obj.value;
  6.                 inp.value = obj.value;
  7.                 inp.style.display = 'none';
  8.                 $('modactions').appendChild(inp);
  9.         } else {
  10.                 $('modactions').removeChild($('topiclist_' + obj.value));
  11.         }
  12. }
复制代码


好了,去后台更新缓存,问题完美解决了。

该贴已经同步到 liyafe1997的微博
转发到微博 收藏 分享
欢迎光临本站!欢迎大家发帖

稻草站长微博,大家去关注下哦,以便获取最新动态:http://weibo.com/liyanfeng

本站为公益性站点,为大家服务,如果有意见或建议的话,欢迎与我们联系。

返回列表