归档之于 ‘ 2014 年4月

IE8 only hack只兼容IE8浏览器的CSS hack

一提到IE就非常蛋疼啊,各个版本的CSS和JS兼容问题简直多如牛毛啊,有木有。一不小心就中招了有木有!

今天要提到的就是解决IE8下的CSS only hack:\0/。看起来是不是很神奇?接下来我们来举个栗子:

<style>

.test {

width:200px;

height:200px;

background-color: green; /*非IE浏览器*/

background-color: blue\0; /*IE9+浏览器*/

background-color: red\0/; /*IE8浏览器*/

*background-color: gray; /*IE7-浏览器*/

_background-color: black; /*IE6-浏览器*/

 

}

</style>

<div class="test"></div>

结语:不要以为上述CSS必须一起使用,告诉你,这些都是可以单独拿出来用的,比如你只想对IE8设置CSS hack,那么只需要在css后面加上“\0/”就可以了,方便直接。

IE8以下浏览器设置Title的问题

在项目中使用jQuery1.7.2作为基础框架,获取title对象和值都没有问题,但是如果需要重新设置title的值的时候在IE低版本浏览器(6、7、8)上就会出现错误,报错的代码块是:

append: function() {
		return this.domManip(arguments, true, function( elem ) {
			if ( this.nodeType === 1 ) {
				this.appendChild( elem );
			}
		});
	}

在IE低版本浏览器上,title不支持appendChild方法,就会抛出“意外的调用了方法或属性访问。”的错误,那么我们应该怎么解决这个问题呢?因为title在Html中属于比较特殊的元素,所以可以通过document.title来获取和设置,而且兼容性很好,所以我们可以这样做:

function setTitle(v){
            try{
                document.title = v;
            }catch (e){
                $('title').text(v);
            }
        }

return top