以住做B/S的系统都是以IE浏览器为主,基本上忽略其他的浏览器,这次决定来个大兼容,但在实现背景渐变上就是个大麻烦。本想用图片来实现的,但要兼顾多种分辨率实在不好办,最后在网上找到一个Javascript的实现办法,兼容IE6/7、FF、Safari等,相当完美。好东西不敢独占,贴出来大家共享:
<SCRIPT> var setGradient = (function(){ //private variables; var p_dCanvas = document.createElement('canvas'); var p_useCanvas = !!( typeof(p_dCanvas.getContext) == 'function'); var p_dCtx = p_useCanvas?p_dCanvas.getContext('2d'):null; var p_isIE = /*@cc_on!@*/false; //test if toDataURL() is supported by Canvas since Safari may not support it try{ p_dCtx.canvas.toDataURL() } catch(err){ p_useCanvas = false; }; if(p_useCanvas){ return function (dEl , sColor1 , sColor2 , bRepeatY ){ if(typeof(dEl) == 'string') dEl = document.getElementById(dEl); if(!dEl) return false; var nW = dEl.offsetWidth;