最近调IE8以下程序调的想死,掺和着数据处理,各种问题出现,现做出归纳整理。
一、样式上的偏差
这个不多说,主要是用ie的hack解决,具体情境具体分析吧。
二、诡异的ext和html的position问题
上篇文章中提到了iframe页面空白的问题,真的是找了半天才找到原因啊,html的css设置了个position:relative,加上一句position:static\9就行了。由此带来的其他样式上的问题,回到一具体分析。
上文链接: ie7下Ext-3.4打开iframe出现空白的问题
三、JS的问题
ie8以下indexOf方法不支持,加代码(网上copy的):
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (elt /*, from*/) {
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++) {
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
还有JSON未定义
引入json2.js,这里就不附代码了,百度一大把。
四、AJAX的缓存问题
ie下做一个操作之后,发现刷新之后的数据还是原来的,只有重启浏览器或新打开一个标签页才能刷新出来正确的数据。当时心里就觉得是缓存的事儿了,百度了一下,在js里加如下jq代码禁止缓存:
$.ajaxSetup({ cache: false })
五、数据量大的分页问题
数据量大到几万条,分页全部在前端,一开始是很笨的显示隐藏的方法,数据量大,好点的浏览器还卡的不行,到ie更是卡成翔,换成了数据存对象数组,切换页面时动态生成html插入,性能得到提升。
可能待续吧……