不管怎么说,通过”<!–[if lte IE 6]>”的形式单独加载patch文件是一种不错的做法,用ff的用户不用为这些为ie而做的恶心patch浪费流量,页面的渲染速度也许会有所提升。

下午靖威同学跟我说,可不可以写一个脚本可以提取样式表中的hack,生成单独的hack文件,这样可以大大减少单独维护hack文件的成本。感觉想法不错,难度也不是很大,参考了一下shell说明,写了几句,先备个忘,下周有时间测试一下。。

#!/bin/bash
echo "$1/csspro/"
find "$1/csspro/" -name *.css | grep -v "ie[67]" > /tmp/allcss.tmp
cat /tmp/allcss.tmp | xargs -i sed -i '/^$/d;s/\\{\\s/\\{/;s/\\;\\s/\\;/;s/\\s\\}/\\}/;s/\/\*.*\*\///;/^[\t ]*\/\*/,/\*\/[\t ]*$/d' {}
cat /tmp/allcss.tmp | xargs -i sed -n '/* *html/p' {}  >> "$1/csspro/patch/ie6.css"
cat /tmp/allcss.tmp | xargs -i sed -n '/*+html/p' {}  >> "$1/csspro/patch/ie7.css"
cat /tmp/allcss.tmp | xargs -i sed -i '/* *html/d;/*+html/d' {}
rm /tmp/allcss.tmp
Copy Code