Hallo allerseits,
ich bin noch blutiger Anfaender in Sachen JavaScript und es geht mir darum fuer alle zur Zeit wichtigen Browser (Netscape4/6, Internet Explorer4/5 sowie Opera5) eine moeglichst effiziente Funktion zu finden, um in ein absolute positioniertes Container-Element (z.B. div mit position:absolute:wink: dynamisch per JavaScript einen HTML-String reinzubringen. Dazu habe ich mir bis jetzt folgendes gedacht und entwickelt:
Gehen wir davon aus, wir haben 5 Boolean-Variablen, die je nachdem welcher Browser detektiert worden ist auf true oder false stehen:
bIsNS4 = true|false; // Netscape4
bIsNS6 = true|false; // Netscape6
bIsIE4 = true|false; // InternetExplorer4
bIsIE5 = true|false; // InternetExplorer5
bIsOP5 = true|false; // Opera5
In einer Funktion wird nun ein String fuer das Div-Element concat-iniert. Z.B. eine Table wie folgt:
var strForDiv = „“;
strForDiv += „“;
strForDiv += „BINGO“;
strForDiv += „“;
Dieser String soll nun einer weiteren Funktion per Aufruf uebergeben werden, die diesen Inhalt (natuerlich Browser abhaengig) in die Division reinschreibt:
Der Aufruf erfolgt so:
writeStrToLyr(strForDiv,„idDiv“);
Die aufgerufene Funktion sieht zur Zeit so aus:
function writeStrToLyr(prmString,prmId)
{
var objDiv = getLyrReference(prmId);
if (!objDiv) return;
setLyrVisibility(false,objDiv);
if (bIsNS4) {
with (objDiv.document) {
open(„text/html“,„replace“);
write(prmString);
close();
}
} else if (bIsIE4||bIsIE5||bIsNS6) {
objDiv.innerHTML = prmString;
} else if (bIsOP5) {
// TODO: Opera5 Browser Code goes here.
}
setLyrVisibility(true,objDiv);
}
function setLyrVisibility(prmVisible,prmLayer)
{
if (!prmLayer) return;
if (bIsNS4)
prmLayer.visibility = prmVisible ? „show“ : „hide“;
else
prmLayer.style.visibility = prmVisible ? „visible“ : „hidden“;
}
function getLyrReference(prmId)
{
if (!prmId) return(null);
if (bIsNS4)
return(window.document.layers[prmId]);
if (bIsIE4)
return(window.document.all[prmId]);
if (bIsIE5||bIsNS6||bIsOP5)
return(window.document.getElementById(prmId));
return(null);
}
writeStrToLyr() beschreibt die „Layer“ auch wenn es nicht dem DOM-Standard entspricht (aber es soll ja funktionieren und moeglichst einfach sein). setLyrVisibility() setzt Cross-Browser-maessig die Visibility (wegen flickering oder auch nicht). getLyrReference() soll sich die ensprechende Referenz auf die Division -falls vorhanden- holen.
Ich denke die Frage ist klar. Bis dato habe ich selbst keine fuer mich befriedigende Loesung gefungen 
Wer kann mir da weiterhelfen?
Danke im vorraus
CIAO
von libraries etc. hab ich ehrlich gesagt keine ahnung…das wäre echt nett.