Seite 1 von 1

[gelöst] mysteriöses IE Phänomen

Verfasst: Di 28. Mär 2006, 04:49
von mvf
hallo community

ich habe ein absoult unerklärbares problem mit dem alten freund IE, das mich schier in den wahnsinn treibt

habt ihr schon mal auf dem screen text gesehen, der nirgends im quelltext zu finden ist?

beispiel:

http://anu.funjumping.de/cms/front_cont ... 1&idart=11
oder
http://anu.funjumping.de/cms/front_cont ... 5&idart=15

schaut euch bitte mal die beiden seiten an, alles im lot mit der navi im
FF, Opera, MOZ, NS

und im IE ??? :shock:

und nun das phänomen:
suche ich im quelltext nach dem 'zusätlichen text' (mmerdienst bzw Vorstand) dann finde ich keine anomalien :x

ich kriege hier gleich die krise, jetzt ist es schon wider halb 6, die ganze nacht um die oheren gehauen mit diesem verdammten IE

errorlog, nada, empty
xhtml validiert
css, ein paar warnungen, aber nichts was zum fehler führen würde

das ganze läüft mit 1:1 den gleichen modul für die 3. naviebene auf dem selben server mit der gleichen version cont 4.6.4 mr 2901 ohne probleme siehe
http://gaz.funjumping.de/cms/front_cont ... &idart=195

der output der 3. navieben sieht wie folgt aus:

Code: Alles auswählen

<?php
/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

/**
 * Array storing alle the
 * navigation data
 */
$navitems = array();

/* Template Instance */
$tpl = new Template;

$sql = "SELECT
            A.idcat,
            C.name,
          C.public,
             C.idcatlang,
             C.startidartlang
        FROM
            ".$cfg["tab"]["cat_tree"]." AS A,
            ".$cfg["tab"]["cat"]." AS B,
            ".$cfg["tab"]["cat_lang"]." AS C
        WHERE
            A.idcat     = B.idcat   AND
            B.idcat     = C.idcat   AND
            B.idclient  = '$client' AND
            C.idlang    = '$lang'   AND
            C.visible   = '1'       AND
            B.parentid  = '$sel_idcat'
        ORDER BY
            A.idtree";

$db->query($sql);

while ( $db->next_record() ) {

        /* Check for external redirects... */
        $sql = "SELECT
                    a.external_redirect AS ext,
                    a.idartlang AS idartlang
                FROM
                    ".$cfg["tab"]["art_lang"]." AS a,
                    ".$cfg["tab"]["cat_art"]." AS b,
                    ".$cfg["tab"]["cat"]." AS c
                WHERE
                    b.idcat     = '".$db->f("idcat")."' AND
                    c.idclient  = '".$client."' AND
                    c.idcat     = b.idcat AND
                    a.idart     = b.idart AND
                    a.idlang    = '".$lang."'";

        $db2->query($sql);
        #$db2->next_record();
      $flag = false;
      while ($db2->next_record()&&!$flag) {
           if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
           {
            $flag = true;
               $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
      
               $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"),
                                                  "name"   => $db->f("name"),
                                                  "idart"      => $db->f("startidartlang"),
                                                  "public" => $db->f("public"),
                                            "idcatlang" => $db->f("idcatlang"),
                                                  "target" => $target);
           }
      }
}

/* Create Navigation Array */
if(($sel_idcat=='')||($sel_idcat=='0')){
    $cApiClient = new cApiClient($client);
    $sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage');
}

nav($sel_idcat);

/* -mvfbof- fetch third level array -> $thirdLevel */
foreach ($navitems as $key => $data) {

   if (checkCatPermission($data['idcatlang'],$data['public'])) {

                  if (is_array($data['sub'])) {
                        $thirdLevel = $data['sub'];
                    }

    } // end if
} // end foreach

/* -mvfeof- fetch third level */


/* Start Output buffer */
ob_start();

foreach ($thirdLevel as $key => $data) { // -mvf $thirdLevel statt $navitems

   if (checkCatPermission($data['idcatlang'],$data['public'])) {

       /* 2. Navigation level */
       if (is_array($data['sub'])) {  // -mvf überbrückt die 2. ebene

					 /* 3. Navigation level */
                   if (is_array($data['sub'])) {
                       foreach ($data['sub'] as $key => $data) {
                      if (checkCatPermission($data['idcatlang'],$data['public'])) {
                              $tpl->reset();
                              $tpl->set('d', 'NAME',  $data['name']);
                              $tpl->set('d', 'TARGET', $data['target']);
                              $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'].'&idart='.$data['idart']));
                              $tpl->next();
                             if ($idcat == $data['idcat']) {
                                 $tpl->generate('templates/navthird_on.html');
                        }elseif(is_array($data['sub'])){
                             $tpl->generate('templates/navthird_open.html');
                             } else {
                                 $tpl->generate('templates/navthird_off.html');
                             }

                             /* 4. Navigation level */
                           if (is_array($data['sub'])) {
                               foreach ($data['sub'] as $key => $data) {
                              if (checkCatPermission($data['idcatlang'],$data['public'])) {
                                      $tpl->reset();
                                      $tpl->set('d', 'NAME',  $data['name']);
                                      $tpl->set('d', 'TARGET', $data['target']);
                                      $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'].'&idart='.$data['idart']));
                                      $tpl->next();
                                      if ($idcat == $data['idcat']) {
                                          $tpl->generate('templates/navfourth_on.html');
                                 }elseif(is_array($data['sub'])){
                                      $tpl->generate('templates/navfourth_open.html');
                                      } else {
                                          $tpl->generate('templates/navfourth_off.html');
                                      }

                                      /* 5. Navigation level */
                                    if (is_array($data['sub'])) {
                                        foreach ($data['sub'] as $key => $data) {
                                       if (checkCatPermission($data['idcatlang'],$data['public'])) {
                                               $tpl->reset();
                                               $tpl->set('d', 'NAME',  $data['name']);
                                               $tpl->set('d', 'TARGET', $data['target']);
                                               $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'].'&idart='.$data['idart']));
                                               $tpl->next();
                                               if ($idcat == $data['idcat']) {
                                                   $tpl->generate('templates/navfifth_on.html');
                                               } else {
                                                   $tpl->generate('templates/navfifth_off.html');
                                               }
                                          } // end if
                                        } // end foreach
                                    } // end if
                                 } // end if
                               } // end foreach
                           } // end if
                        } // end if
                      } // end foreach
                  } // end if
               } // end if

    } // end if
} // end foreach

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;

?>


hiiiiiiiiiiiiiilfeeeeeeeeeeeeeeee was ist das bitte :cry: :cry: :cry:

Verfasst: Di 28. Mär 2006, 08:59
von xmurrix
Morgen,

ja der IE macht wieder mal einen Strich durch die Rechnung, ist wohl beim Rendern übereifrig :D

Probier doch einfach die Ausgabe der Navigation als eine Liste auszugeben:

Code: Alles auswählen

<ul style="list-type:none;margin:0;padding:0;">
<li style="margin:0;padding:0;">
		<a href="front_content.php?idcat=23&idart=23" class="navi3rd_passive">Chronik</a>
</li><li style="margin:0;padding:0;">
<!-- Generated by Contenido 4.6.4-->
		<a href="front_content.php?idcat=27&idart=26" class="navi3rd_passive">Geschäftsstelle</a>
</li><li style="margin:0;padding:0;">
<!-- Generated by Contenido 4.6.4-->
		<a href="front_content.php?idcat=26&idart=27" class="navi3rd_passive">das Team</a>
</li><li style="margin:0;padding:0;">
<!-- Generated by Contenido 4.6.4-->
		<a href="front_content.php?idcat=22&idart=22" class="navi3rd_passive">der Vorstand</a>
</li></ul>
Dann zeigt es auch der IE korrekt an.

Gruß
xmurrix

Verfasst: Di 28. Mär 2006, 14:01
von mvf
problem gelöst !!!

nach einem kurzen austausch per pm hat mich xmurrix auf einen kleinen aber feinen punkt gebracht, ich hatte da noch ein float in den classen der zustände, diese kurz rausgenommen und schon läuft es. ein relikt aus der 2.ebene :oops:

eine frage hätte ich da noch, speziell an xmurrix, du schreibst
xmurrix hat geschrieben:ja der IE macht wieder mal einen Strich durch die Rechnung, ist wohl beim Rendern übereifrig :D
wie kann ich denn den IE 'debuggen', im firefox läuft des ja prima mit webdevtoolbar, aber im IE zu erroieren was woran liegt scheint ja unmöglich, speziell wenn man auf screen sachen sieht die nicht im quellcode stehen

Verfasst: Di 28. Mär 2006, 14:26
von xmurrix
mvf hat geschrieben:wie kann ich denn den IE 'debuggen', im firefox läuft des ja prima mit webdevtoolbar, aber im IE zu erroieren was woran liegt scheint ja unmöglich, speziell wenn man auf screen sachen sieht die nicht im quellcode stehen
Hauptsache das Problem ist gelöst.
Mir ist für den IE ein Debugger alá Firefox-Webdevtoolbar nicht bekannt. Entweder man eignet sich das Wissen über die Bugs verschiedener Browser an, was meiner Meinung nach erheblichen Aufwand bedeutet, oder man gestaltet ein Layout in einem Browser, welches CSS korrekt interpretiert, um danach die browserspezifischen Bugs auszubügeln.

Verfasst: Di 28. Mär 2006, 14:32
von mvf
xmurrix hat geschrieben:oder man gestaltet ein Layout in einem Browser, welches CSS korrekt interpretiert, um danach die browserspezifischen Bugs auszubügeln.
thats what I do ;)

aber die 'browserspezifischen Bugs' im IE zu erroieren war mir speziell in diesem fall einfach nicht klar wo ansetzen.

anyway, es läuft und ich habe dich zu meinem personal hero of the day erkoren!
des is schon arg, wenn man weit über 10 stunden für so einen fitzel investiert.
who pays for that? billyboy?

also dir nochmal ganz herzlichen dank und auf in die nächste runde (gongong)

Verfasst: Di 28. Mär 2006, 14:32
von stese
die internet explorer developer toolbar ist das microsoft pendant zur firefox webdeveloper toolbar. vor allem das dom fenster finde ich dort übersichtlicher als in der ff webdeveloper toolbar.

Verfasst: Di 28. Mär 2006, 14:37
von mvf
stese hat geschrieben:die internet explorer developer toolbar ist das microsoft pendant zur firefox webdeveloper toolbar. vor allem das dom fenster finde ich dort übersichtlicher als in der ff webdeveloper toolbar.
hehe, der stese wieder ;)
cool installiert und is ja schon mal was, merci