From: Tom Gilder Date: Sun, 16 Jan 2005 00:23:13 +0000 (+0000) Subject: PNG alpha fix: added error checking X-Git-Tag: 1.5.0alpha1~926 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=a1dd674b79abcce9cbeddbb9784e8fceb5b23ec3;p=lhc%2Fweb%2Fwiklou.git PNG alpha fix: added error checking --- diff --git a/skins/common/IEFixes.js b/skins/common/IEFixes.js index ec10f1b410..df7439a34d 100644 --- a/skins/common/IEFixes.js +++ b/skins/common/IEFixes.js @@ -20,35 +20,39 @@ function fixalpha() { // bg if (!doneIEAlphaFix) { - doneIEAlphaFix = true; - var plogo = document.getElementById('p-logo'); - var logoa = plogo.getElementsByTagName('a')[0]; - var bg = logoa.currentStyle.backgroundImage; - var imageUrl = bg.substring(5, bg.length-2); - - if (imageUrl.substr(imageUrl.length-4).toLowerCase() == '.png') { - var logospan = logoa.appendChild(document.createElement('span')); - - logoa.style.backgroundImage = 'none'; - logospan.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + imageUrl + ')'; - logospan.style.height = '100%'; - logospan.style.position = 'absolute'; - logospan.style.width = logoa.currentStyle.width; - logospan.style.cursor = 'hand'; - // Center image with hack for IE5.5 - if (document.documentElement.dir == "rtl") - { - logospan.style.right = '50%'; - logospan.style.setExpression('marginRight', '"-" + (this.offsetWidth / 2) + "px"'); - } - else - { - logospan.style.left = '50%'; - logospan.style.setExpression('marginLeft', '"-" + (this.offsetWidth / 2) + "px"'); - } - logospan.style.top = '50%'; - logospan.style.setExpression('marginTop', '"-" + (this.offsetHeight / 2) + "px"'); - } + doneIEAlphaFix = true; + var plogo = document.getElementById('p-logo'); + if (!plogo) return; + + var logoa = plogo.getElementsByTagName('a')[0]; + if (!logoa) return; + + var bg = logoa.currentStyle.backgroundImage; + var imageUrl = bg.substring(5, bg.length-2); + + if (imageUrl.substr(imageUrl.length-4).toLowerCase() == '.png') { + var logospan = logoa.appendChild(document.createElement('span')); + + logoa.style.backgroundImage = 'none'; + logospan.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + imageUrl + ')'; + logospan.style.height = '100%'; + logospan.style.position = 'absolute'; + logospan.style.width = logoa.currentStyle.width; + logospan.style.cursor = 'hand'; + // Center image with hack for IE5.5 + if (document.documentElement.dir == "rtl") + { + logospan.style.right = '50%'; + logospan.style.setExpression('marginRight', '"-" + (this.offsetWidth / 2) + "px"'); + } + else + { + logospan.style.left = '50%'; + logospan.style.setExpression('marginLeft', '"-" + (this.offsetWidth / 2) + "px"'); + } + logospan.style.top = '50%'; + logospan.style.setExpression('marginTop', '"-" + (this.offsetHeight / 2) + "px"'); + } } }