Olla!
tpg_iepngfix kenn ich nicht, habe ich mir auch noch nicht angeguckt.
Ich habe das bisher immer wie folgt gelöst:
Ist ein bisschen Vorarbeit von Nöten, um dem drecks InternetExploder 6 pngs beizubringen, aber es geht. Angenommen Dein GMENU liegt in einem div mit der id="navmain":
/* css only for exploder 6 */
* html #navmain img { behavior: url(DEINPFAD/iepngfix.htc) }
DEINPFAD könnte z.B. sein fileadmin/templates.
Dieses CSS sollte mit einer Browserweiche, die NUR für InternetExploder 6 greift, eingebunden werden.
Der behavior Parameter ist ein M$ eigener Kram, und somit nicht valide nach W3C, das sollte aber für einen Browser, welchen eh kein normaler Mensch mit halbwegs gesundem Menschenverstand nutzt, ziemlich egal sein. (Deswegen auch die Browserweiche, jeder bekommt halt das, was er verdient.)
Als nächstes legen wir uns unter DEINPFAD eine leere Datei mit Namen iepngfix.txt an.
In diese Datei wird folgendes reinkopiert:
<public:component>
<public:attach event="onpropertychange" onevent="doFix()" />
<script type="text/javascript">
// IE5.5+ PNG Alpha Fix v1.0RC4
// (c) 2004-2005 Angus Turnbull http://www.twinhelix.com
// This is licensed under the CC-GNU LGPL, version 2.1 or later.
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
// This must be a path to a blank image. That's all the configuration you need.
if (typeof blankImg == 'undefined') var blankImg = '1px_TRANS.gif';
var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
function filt(s, m)
{
if (filters[f])
{
filters[f].enabled = s ? true : false;
if (s) with (filters[f]) { src = s; sizingMethod = m }
}
else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
}
function doFix()
{
// Assume IE7 is OK.
if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) ||
(event && !/(background|src)/.test(event.propertyName))) return;
var bgImg = currentStyle.backgroundImage || style.backgroundImage;
if (tagName == 'IMG')
{
if ((/\.png$/i).test(src))
{
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
filt(src, 'scale');
src = blankImg;
}
else if (src.indexOf(blankImg) < 0) filt();
}
else if (bgImg && bgImg != 'none')
{
if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
{
var s = RegExp.$1;
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
style.backgroundImage = 'none';
filt(s, 'crop');
// IE link fix.
for (var n = 0; n < childNodes.length; n++)
if (childNodes[n].style) childNodes[n].style.position = 'relative';
}
else filt();
}
}
doFix();
</script>
</public:component>
Auf den Hinweis, dass das Script nicht von mir ist, verzichte in an dieser Stelle, anyway: thanks Angus Turnbull! 😉
Diese Datei nun umbennen in iepngfix.htc weil eine .htc nicht innerhalb von TYPO3 editiert werden darf, sind wir den Umweg über die .txt gegangen
Jetzt brauchst Du nur noch unter DEINPFAD eine Datei mit Namen 1px_TRANS.gif welche -wie der Name schon sagt 😉- eine transparente gif Datei mit 1x1 px Größe ist, hochladen.
Das sollte es gewesen sein.
Have phun!
gruss, fuss