手机
当前位置:查字典教程网 >网页设计 > Div+Css教程 >Discuz7.2 IE9兼容性写法 杜工完全修补方案
Discuz7.2 IE9兼容性写法 杜工完全修补方案
摘要:现象:1.IE9快速发帖不跳转2.IE9管理员处理帖子失败3.IE9登录不跳转,需要手动刷新原因:1.AJAXPOST函数判断out了2.动...

现象:

1. IE9快速发帖不跳转

2. IE9管理员处理帖子失败

3. IE9登录不跳转,需要手动刷新

原因:

1. AJAXPOST函数判断out了

2. 动态创建iframe时各浏览器处理方式不同

解决方法:

1. 修改templates/header.htm

<meta http-equiv=”x-ua-compatible” content=”ie=7″ />

替换为

<!–[if lte IE 8]>

<meta http-equiv=”x-ua-compatible” content=”ie=7″ />

<![endif]–>

<!–[if IE 9]>

<meta http-equiv=”x-ua-compatible” content=”ie=9″ />

<![endif]–>

2.修改include/js/common.js

把ajaxpost函数替换为:

function ajaxpost(formid, showid, waitid, showidclass, submitbtn, recall) {

var waitid = typeof waitid == 'undefined' || waitid === null ? showid : (waitid !== '' ? waitid : '');

var showidclass = !showidclass ? '' : showidclass;

var ajaxframeid = 'ajaxframe';

var ajaxframe = $(ajaxframeid);

var formtarget = $(formid).target;

var handleResult = function() {

var s = '';

var evaled = false;

showloading('none');

try {

s = $(ajaxframeid).contentWindow.document.XMLDocument.text;

} catch(e) {

try {

s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.wholeText;

} catch(e) {

try {

s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.nodeValue;

} catch(e) {

s = '内部错误,无法显示此内容';

}

}

}

if(s != '' && s.indexOf('ajaxerror') != -1) {

evalscript(s);

evaled = true;

}

if(showidclass) {

$(showid).className = showidclass;

if(submitbtn) {

submitbtn.disabled = false;

}

}

if(!evaled && (typeof ajaxerror == 'undefined' || !ajaxerror)) {

ajaxinnerhtml($(showid), s);

}

ajaxerror = null;

if($(formid)) $(formid).target = formtarget;

if(typeof recall == 'function') {

recall();

} else {

eval(recall);

}

if(!evaled) evalscript(s);

ajaxframe.loading = 0;

$('append_parent').removeChild(ajaxframe);

};

if(!ajaxframe) {

try{

ajaxframe = document.createElement('<iframe name="' + ajaxframeid + '" id="' + ajaxframeid + '"></iframe>');

}catch(e){

ajaxframe = document.createElement('iframe');

ajaxframe.name = ajaxframeid;

ajaxframe.id = ajaxframeid;

}

ajaxframe.style.display = 'none';

ajaxframe.loading = 1;

$('append_parent').appendChild(ajaxframe);

} else if(ajaxframe.loading) {

return false;

}

_attachEvent(ajaxframe, 'load', handleResult);

showloading();

$(formid).target = ajaxframeid;

$(formid).action += '&inajax=1';

$(formid).submit();

return false;

}

后台刷新缓存,搞定。

【Discuz7.2 IE9兼容性写法 杜工完全修补方案】相关文章:

IE.JS解决IE兼容性问题方法汇总

CSS 标签属性

纯CSS无表达式实现未知尺寸图片等比缩放(支持IE7及以上)

ie placeholder属性的兼容性问题解决方法

兼容各浏览器:CSS定义PNG透明效果

css初学者:id和class的选择

css的链接美化

CSS教程:DIV底部放置文字

用css样式表实现首字大写

css margin属性兼容性分析

精品推荐
分类导航