pragmaMx Support Forum

Archive => veraltete bzw. unsupportete Systeme und Module => Alt Archive => Coppermine-Mx => Thema gestartet von: MrTom am 14 November 2005, 20:39:59

Titel: Lösung Anzeigefehler Popup im Internet Explorer
Beitrag von: MrTom am 14 November 2005, 20:39:59
Da ich selber auch schon viele hilfreiche Dinge in diesem Forum fand, will ich auch einmal eine Kleinigkeit beisteuern. Vielleicht ist es dem ein oder anderen schon mal aufgefallen. Wenn man in Coppermine ein Foto in Zwishcengröße offenhat und da nocheinmal draufklickt, wird das Foto in voller Größe mit HIlfe einer Javascriptfunktion in einem neuen Fenster aufgemacht. Das ganze funktioniert in allen gängigen Browsern ganz gut, nur im Internet Explorer ist das Bild immer nach Links unten geschoben. Wobei das Fenster exakt die Größe des Bildes hat. Das führt dazu das Scrollleisten erscheinen. Ein Webseitenbesucher sprach mich darauf an. Ich ging der Sache nach und wurde nach einigem Suchen fündig.

Das Problem steckt in der Datei displayimage.php im Modulordner gallery. Dort findet man ab Zeile 463 den HTML Quelltext für das Popupfenster. Das Problem beim Originaltext ist das die Ränder nur mit den Netscapekonformen Befehlen marginwidth und marginheight ausformuliert sind. Die Befehle für den IE leftmargin und Topmargin fehlen.

Da man aber diese Befehle sowieso eher nicht verwenden sollte (Grund: (Zitat aus SelfHTML)"Diese Attribute gehörten nie zum HTML-Standard und sind ein typisches Beispiel dafür, welcher Wirrwarr entsteht, wenn Browser ihr eigenes Süppchen kochen. Benutzen Sie auf jeden Fall Stylesheets zum Definieren von Seitenrändern."), habe ich den Quelltext ab Zeile 463 wie folgt abgeändert (ich spare es mir, den Originalquelltext auch noch hierherzukopieren, den kann ja jeder selber nachschauen) (Edit: Wie ihr sicher bemerkt, habe ich auch eine verschachtelte Tabelle entfernt, weil sie meines Erachtens keinen Sinn macht):


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><?php echo $CONFIG['gallery_name'?>: <?php echo $lang_fullsize_popup['click_to_close'];
    
?>
</title>
<meta http-equiv="content-type" content="text/html; charset=<?php echo $CONFIG['charset'] == 'language file' $lang_charset $CONFIG['charset'?>" />
<link rel="stylesheet" href="<?php echo $THEME_DIR ?>style.css" />
<?php
// changes for pragmaMx
echo '<script type="text/javascript" src="'.UDB_CPG_DIR.'scripts.js"></script>';
#<script type="text/javascript" src="scripts.js"></script>
// end changes for pragmaMx
 
?>

<style type="text/css">
body { margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0px }
</style>
</head>
<body scroll="no" bgcolor="#000000">
<script language="JavaScript" type="text/JavaScript">
adjust_popup();
</script>

<table cellspacing="0" cellpadding="0" style="border: 0px; background-color: #000000;" height="100%" width="100%">
<td bgcolor="#000000" align="center" valign="middle">
<?php
    
if (isset($HTTP_GET_VARS['picfile'])) {
        if (!
GALLERY_ADMIN_MODEcpg_die(ERROR$lang_errors['access_denied'], __FILE____LINE__);

        
$picfile $HTTP_GET_VARS['picfile'];
        
$picname $CONFIG['fullpath'] . $picfile;
        
$imagesize = @getimagesize($picname);
        echo 
"<a href=\"javascript: window.close()\"><img src=\"" path2url($picname) . "\" $imagesize[3] class=\"image\" border=\"0\" alt=\"\" title=\"$picfile\n" $lang_fullsize_popup['click_to_close'] . "\"/></a><br />\n";
    } elseif (isset(
$HTTP_GET_VARS['pid'])) {
        
$pid = (int)$HTTP_GET_VARS['pid'];
        
$sql "SELECT * " "FROM {$CONFIG['TABLE_PICTURES']} " "WHERE pid='$pid$ALBUM_SET";
        
$result db_query($sql);

        if (!
mysql_num_rows($result)) cpg_die(ERROR$lang_errors['non_exist_ap'], __FILE____LINE__);

        
$row mysql_fetch_array($result);
        
$pic_url get_pic_url($row'fullsize');
        
$geom 'width="' $row['pwidth'] . '" height="' $row['pheight'] . '"';
        echo 
"<a href=\"javascript: window.close()\"><img src=\"" $pic_url "\" $geom class=\"image\" border=\"0\" alt=\"\" title=\"" htmlspecialchars($row['filename']) . "\n" $lang_fullsize_popup['click_to_close'] . "\"></a><br />\n";
    }

    
?>

   </td>
</table>
</body>
</html>


Und schon erscheint das Bild im Popupfenster in allen Browsern Mitiig und mit schwarzem Hintergrund.
Titel: Re: Lösung Anzeigefehler Popup im Internet Explorer
Beitrag von: Andi am 14 November 2005, 22:20:07
Suppi, danke  :thumbup:

und getoppt  :)
Titel: Re: Lösung Anzeigefehler Popup im Internet Explorer
Beitrag von: Mecki am 14 November 2005, 22:39:29
Hi MrTom ,

danke  :thumbup:

LG
Mecki
Titel: Re: Lösung Anzeigefehler Popup im Internet Explorer
Beitrag von: seleck am 30 November 2005, 10:26:48
Besten Dank Tom. funktioniert .  :thumbup:
Titel: Re: Lösung Anzeigefehler Popup im Internet Explorer
Beitrag von: Andi am 30 Januar 2006, 22:17:25
Die Lösung für die Version 1.4.3 findet sich hier:
http://www.pragmamx.org/modules.php?name=Forum&topic=15265.msg105391#msg105391