标题:
Discuz7.2完美兼容IE9方案(非兼容模式),也是本站正使用的方案
[打印本页]
作者:
liyafe1997
时间:
2012-1-7 13:36
标题:
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)
下载次数: 8587
2012-1-7 13:38
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的微博
附件:
ajaxpost.txt
(2012-1-7 13:38, 1.82 KB) / 下载次数 8587
http://www.dcrjs.com/attachment.php?aid=2797&k=e7028e0fd3075e8b1f6854515213138e&t=1732213547&sid=GPnp69
欢迎光临 稻草软件论坛 (http://www.dcrjs.com/)
Powered by Discuz! 7.2