Markus Tegelhofer: Bilder werden nur halb angezeigt im IE

Hallo zusammen :)

Gleich vorab...kann sein dass ich das falsche Thema gewählt habe, da es auch javascript und css betrifft bzw betreffen kann ;)

Folgendes Problem:

Bei mehrmaligem Aufruf eines Links werden manche Bilder nur halb   bzw. nur zu 3/4 etc. angezeigt.

Aufbau:

eine index.html welche übergeordnet 3 DIVs ausgibt.
Die DIVs links und title sind permanent und in das 3te(content) wird via javascript und php eine seite nachgeladen :)

tja so weit so gut...das funktioniet ohne probleme wenn man die menülinks durchklickt.
Aber bei manchen IE (ab 6.0) werden ab dem 2ten mal klicken manche bilder nur halb bzw abgeschnitten angezeigt.
sie sind da (über rechte maustaste->bilder anzeigen seh ich sie ja) aber anzeigen tuts der browser nicht.
sehr eigenartig ist obendrein noch dass einige bilder problemlos wiedergegeben werden und manche zicken permanent.
reproduzierbar ist das auch nur manchmal :(

CODESCHNIPSEL:
index.html->

<div style="zentriermich">
<div id="title"></div>
<div id="links">Das Menü
<a class="menu" href="javascript:void(0);" onclick="sndReq('getSeite1');">Blablabla</a>
</div>
<div id="content">Hier wird hineingeladen(über das Menü)
  <script type="text/javascript">
   sndReq('getSeite0');
  </script></div>
</div>

request.js->
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(action) {
    http.open('get', 'output.php?action='+action);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];
        }
    }
}

output.php->
switch($_REQUEST['action']) {
  default:
  case 'getSeite0':
    $filename = 'seite0.html';
    break;
    usw usw}
$handle = fopen($filename, 'r');
$content = fread($handle, filesize($filename));
fclose ($handle);
echo 'content|'.$content;

die jeweiligen seiten sind eben auch html seiten mit allen drum und dran (head..obwohl der nicht geladen wird, body usw)

tjaaaa so siehts aus...wäre voll dankbar für jeden tipp
aja die seiten sind valid :) (was ungefähr nix bedeutet *grins*)
und im Firefox funkts problemlos.

  1. hat denn keiner eine idee dazu?

  2. Hallo Markus

    Bei mehrmaligem Aufruf eines Links werden manche Bilder nur halb   bzw. nur zu 3/4 etc. angezeigt.

    Es ist also ein Anzeigeproblem. Um dabei wirklich helfen zu können oder den Fehler überhaupt nur nachvollziehen zu können, reichen ein paar HTML- und Scriptbrocken nicht aus. Es wäre das komplette CSS und das komplette HTML (mit den durch das Script eingefügten Teilen) nötig. So kann nur geraten werden.

    reproduzierbar ist das auch nur manchmal :(

    Wovon hängt es ab?

    • bei bestimmten Bildern?
    • bei bestimmten Browserfenstergrößen oder Scrollpositionen?

    Hast du gefloatete Elemente auf der Seite?
    Wie sieht der eingefügte Teil genau aus?
    Verändert sich die Anzeige, wenn auf der Seite ein Element gehovert wird?
    Wenn du das eingefügte Bild versuchst zu markieren, ist es dann komplett oder verändert sich dann die Anzeige?

    <a class="menu" href="javascript:void(0);" onclick="sndReq('getSeite1');">Blablabla</a>

    Warum ein Link, wenn du keinen Link benötigst?
    Bzw.
    Warum nicht ein Link auf die Seite, deren Inhalt mittels Javascript eingeügt wird, als Alternative für javascriptlose Seitenbesucher?

    » <div id="content">Hier wird hineingeladen(über das Menü)

    <script type="text/javascript">

    Wozu hier ein Script innerhalb der Seite?
    Könnte das nicht ein onload auch erledigen?
    Wäre als Inhalt eine Alternative für javascriptlose Seitenbesucher nicht angemessen?

    sndReq('getSeite0');
      </script></div>

    ^^^^^^
    Ist das ein c&p-Fehler oder ein schließendes div zu viel?

    document.getElementById(update[0]).innerHTML = update[1];

    Enthält update[0] und update[1] wirklich immer genau das, was du erwartest?

    output.php->

    die jeweiligen seiten sind eben auch html seiten mit allen drum und dran (head..obwohl der nicht geladen wird, body usw)

    Wird wirklich immer genau der Teil zurückgeliefert, den du erwartest?

    aja die seiten sind valid :) (was ungefähr nix bedeutet *grins*)

    Auch nach dem Einfügen der Teile?

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!