Ralf: CrossDOM

Beitrag lesen

Hallo

ich habe ein Script, das solche Probleme beseitigen soll, geschrieben:

var idDOM=0;
var allDOM=0;
var layDOM=0;
var DHTML=0;

if (document.getElementByID) {
 idDOM=1;
 DHTML=1;
} else {
 if (document.all) {
  allDOM=1;
  DHTML=1;
 } else {
  browserVersion=parseInt(navigator.app-Version);
  if ((navigator.appName.indexOf('Netscape')!=1) && (browserVersion==4)) {
   layDOM=1;
   DHTML=1;
  }
 }
}

function crossDOM(Stil,ObjID) {
 if (idDOM) {
  if (Stil==1) {
   return (document.getElementByID(ObjID).style);
  } else {
   return (document.getElementByID(ObjID));
  }
 }
 if (allDOM) {
  if (Stil==1) {
   return (document.all[ObjID].style);
  } else {
   return (document.all[ObjID]);
  }
 } else {
  if (layDOM) {
   return (document.layers[ObjID]);
  }
 }
}

Am besten bindest du es als externes Script ein.
In Deiner Javascript-Funktion rufst du es dann so ab, um z.B. die höhe eines Objektes festzustellen

function objHeight(ObjID) {
 dom=crossDOM(0,ObjID);
 if (dom.offsetHeight) {
  return dom.offsetHeight;
 }
 if (layDOM) {
  return dom.clip.height;
 } else {
  return (0);
 }
}

Ich hoffe das hilft Dir weiter

Gruß

Ralf