Hallo,
ich erzeuge Imagemaps mittels php dynamisch und es klappt auch alles soweit einwandfrei (Grafik wird angezeigt), nur wird der verweissensitive Bereich (kreisförmiger Bereich für den "Fenster-schliessen"-Button) ignoriert, d.h. ich bekomme hierfür keinen "Link".
Der php-Code, der die Imagemaps erzeugt:
$Grafik = "../Grafiken/Formular__Meldung__" . $Meldung . ".png";
list ($Breite, $Hoehe) = getimagesize ($Grafik);
$css__width = $Breite . "px";
$css__height = $Hoehe . "px";
$css__margin_left = "-" . (ceil ($Breite / 2)) . "px";
$css__margin_top = "-" . (ceil ($Hoehe / 2)) . "px";
switch ($Meldung)
{
case "Spambot":
{
$coords = "433,24,14";
$_SESSION ['Ban'] = "gesetzt";
$Weiterleitung = "Gaestebuch__Lesen.php";
break;
}
}
Die zugehörigen css-Definitionen (falls erforderlich):
<style type="text/css" media="screen">
img#Meldung
{
background-image: url('../Grafiken/Formular__Meldung__<?php echo $Meldung; ?>.png');
background-repeat: no-repeat;
height: <?php echo $css__height; ?>;
left: 50%;
margin-left: <?php echo $css__margin_left; ?>;
margin-top: <?php echo $css__margin_top; ?>;
position: absolute;
top: 50%;
width: <?php echo $css__width; ?>;
}
</style>
Der Code zur Ausgabe der Imagemap:
<img id="Meldung" usemap="#Meldung_Grafik">
<map name="Meldung_Grafik">
<area shape="circle" coords="<?php echo $coords; ?>" href="<?php echo $Weiterleitung; ?>">
</map>
Mir ist beim Ansehen des Quelltextes im Firefox aufgefallen, dass doppelte Anführungszeichen immer in blauer Schrift ausgegeben werden, nur bei der Link-Angabe sind sie schwarz:
<style type="text/css" media="screen">
img#Meldung
{
background-image: url('../Grafiken/Formular__Meldung__Spambot.png');
background-repeat: no-repeat;
height: 201px;
left: 50%;
margin-left: -229px;
margin-top: -101px;
position: absolute;
top: 50%;
width: 457px;
}
</style>
...
<img id="Meldung" usemap="#Meldung_Grafik">
<map name="Meldung_Grafik">
<area shape="circle" coords="433,24,14" href="Gaestebuch__Lesen.php">
</map>
Ob dies etwas zu bedeuten hat, kann ich nicht beurteilen, denn formal sieht (für mich) soweit alles richtig aus.
An welcher Stelle habe ich einen Fehler gemacht?
Vielen Dank für eure Mithilfe.
Gruß
Enrico