关于浏览器内置对象的方法

首先请阅读此文:http://www.cnblogs.com/snandy/archive/2011/03/24/1993380.html

通过此文 ,我们了解到,对于浏览器内置对象的一些方法,在ie中表现为类静态方法,可以托管给其他“指针”来代表,而其他浏览器中则表现为类实例方法,需要有指定的对象来触发。为了方便统一调用,可写出下面代码:

var isIe = navigator.userAgent.indexOf("MSIE")>=0 
,d = document
,l = d.location
,h = window.history
, wrap = function(fn,that){
	if(isIe) return fn;
	return function(){
		return fn.apply(that,arguments);
	};
};


var $ =  wrap(d.getElementById,d)
,printf = wrap(d.write,d)
,printfln = wrap(d.writeln,d)
,reload = wrap(d.location.reload,l)
,go = wrap(history.go,h);
posted @ 2011-03-24 11:15  simayixin  阅读(1694)  评论(0编辑  收藏  举报