Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1005 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Qui saura rendre ce script compatible NS6?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript] Qui saura rendre ce script compatible NS6?

n°174314
Prosper Yo​uplaboum
Je me lève et je confirme!
Posté le 10-07-2002 à 14:06:15  profilanswer
 

Voilà la bête (non, ça n'est pas de moi!):
 

var isMinNS4 = (navigator.appName.indexOf("Netscape" ) >= 0 &&
                parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5." ) >= 0) ? 1 : 0;
 
//-----------------------------------------------------------------------------
// Layer visibility.
//-----------------------------------------------------------------------------
 
function hideLayer(layer) {
 
  if (isMinNS4)
    layer.visibility = "hide";
  if (isMinIE4)
    layer.style.visibility = "hidden";
}
 
function showLayer(layer) {
 
  if (isMinNS4)
    layer.visibility = "show";
  if (isMinIE4)
    layer.style.visibility = "visible";
}
 
function isVisible(layer) {
 
  if (isMinNS4 && layer.visibility == "show" )
    return(true);
  if (isMinIE4 && layer.style.visibility == "visible" )
    return(true);
 
  return(false);
}
 
//-----------------------------------------------------------------------------
// Layer positioning.
//-----------------------------------------------------------------------------
 
function moveLayerTo(layer, x, y) {
 
  if (isMinNS4)
    layer.moveTo(x, y);
  if (isMinIE4) {
    layer.style.left = x;
    layer.style.top  = y;
  }
}
 
function moveLayerBy(layer, dx, dy) {
 
  if (isMinNS4)
    layer.moveBy(dx, dy);
  if (isMinIE4) {
    layer.style.pixelLeft += dx;
    layer.style.pixelTop  += dy;
  }
}
 
function getLeft(layer) {
 
  if (isMinNS4)
    return(layer.left);
  if (isMinIE4)
    return(layer.style.pixelLeft);
  return(-1);
}
 
function getTop(layer) {
 
  if (isMinNS4)
    return(layer.top);
  if (isMinIE4)
    return(layer.style.pixelTop);
  return(-1);
}
 
function getRight(layer) {
 
  if (isMinNS4)
    return(layer.left + getWidth(layer));
  if (isMinIE4)
    return(layer.style.pixelLeft + getWidth(layer));
  return(-1);
}
 
function getBottom(layer) {
 
  if (isMinNS4)
    return(layer.top + getHeight(layer));
  else if (isMinIE4)
    return(layer.style.pixelTop + getHeight(layer));
  return(-1);
}
 
function getPageLeft(layer) {
 
  if (isMinNS4)
    return(layer.pageX);
  if (isMinIE4)
    return(layer.offsetLeft);
  return(-1);
}
 
function getPageTop(layer) {
 
  if (isMinNS4)
    return(layer.pageY);
  if (isMinIE4)
    return(layer.offsetTop);
  return(-1);
}
 
function getWidth(layer) {
 
  if (isMinNS4) {
    if (layer.document.width)
      return(layer.document.width);
    else
      return(layer.clip.right - layer.clip.left);
  }
  if (isMinIE4) {
    if (layer.style.pixelWidth)
      return(layer.style.pixelWidth);
    else
      return(layer.clientWidth);
  }
  return(-1);
}
 
function getHeight(layer) {
 
  if (isMinNS4) {
    if (layer.document.height)
      return(layer.document.height);
    else
      return(layer.clip.bottom - layer.clip.top);
  }
  if (isMinIE4) {
    if (false && layer.style.pixelHeight)
      return(layer.style.pixelHeight);
    else
      return(layer.clientHeight);
  }
  return(-1);
}
 
function getzIndex(layer) {
 
  if (isMinNS4)
    return(layer.zIndex);
  if (isMinIE4)
    return(layer.style.zIndex);
 
  return(-1);
}
 
function setzIndex(layer, z) {
 
  if (isMinNS4)
    layer.zIndex = z;
  if (isMinIE4)
    layer.style.zIndex = z;
}
 
//-----------------------------------------------------------------------------
// Layer clipping.
//-----------------------------------------------------------------------------
 
function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) {
 
  if (isMinNS4) {
    layer.clip.left   = clipleft;
    layer.clip.top    = cliptop;
    layer.clip.right  = clipright;
    layer.clip.bottom = clipbottom;
  }
  if (isMinIE4)
    layer.style.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';
}
 
function getClipLeft(layer) {
 
  if (isMinNS4)
    return(layer.clip.left);
  if (isMinIE4) {
    var str =  layer.style.clip;
    if (!str)
      return(0);
    var clip = getIEClipValues(layer.style.clip);
    return(clip[3]);
  }
  return(-1);
}
 
function getClipTop(layer) {
 
  if (isMinNS4)
    return(layer.clip.top);
  if (isMinIE4) {
    var str =  layer.style.clip;
    if (!str)
      return(0);
    var clip = getIEClipValues(layer.style.clip);
    return(clip[0]);
  }
  return(-1);
}
 
function getClipRight(layer) {
 
  if (isMinNS4)
    return(layer.clip.right);
  if (isMinIE4) {
    var str =  layer.style.clip;
    if (!str)
      return(layer.style.pixelWidth);
    var clip = getIEClipValues(layer.style.clip);
    return(clip[1]);
  }
  return(-1);
}
 
function getClipBottom(layer) {
 
  if (isMinNS4)
    return(layer.clip.bottom);
  if (isMinIE4) {
    var str =  layer.style.clip;
    if (!str)
      return(layer.style.pixelHeight);
    var clip = getIEClipValues(layer.style.clip);
    return(clip[2]);
  }
  return(-1);
}
 
function getClipWidth(layer) {
 
  if (isMinNS4)
    return(layer.clip.width);
  if (isMinIE4) {
    var str = layer.style.clip;
    if (!str)
      return(layer.style.pixelWidth);
    var clip = getIEClipValues(layer.style.clip);
    return(clip[1] - clip[3]);
  }
  return(-1);
}
 
function getClipHeight(layer) {
 
  if (isMinNS4)
    return(layer.clip.height);
  if (isMinIE4) {
    var str =  layer.style.clip;
    if (!str)
      return(layer.style.pixelHeight);
    var clip = getIEClipValues(layer.style.clip);
    return(clip[2] - clip[0]);
  }
  return(-1);
}
 
function getIEClipValues(str) {
 
  var clip = new Array();
  var i;
 
  // Parse out the clipping values for IE layers.
 
  i = str.indexOf("(" );
  clip[0] = parseInt(str.substring(i + 1, str.length), 10);
  i = str.indexOf(" ", i + 1);
  clip[1] = parseInt(str.substring(i + 1, str.length), 10);
  i = str.indexOf(" ", i + 1);
  clip[2] = parseInt(str.substring(i + 1, str.length), 10);
  i = str.indexOf(" ", i + 1);
  clip[3] = parseInt(str.substring(i + 1, str.length), 10);
  return(clip);
}
 
//-----------------------------------------------------------------------------
// Layer scrolling.
//-----------------------------------------------------------------------------
 
function scrollLayerTo(layer, x, y, bound) {
 
  var dx = getClipLeft(layer) - x;
  var dy = getClipTop(layer) - y;
 
  scrollLayerBy(layer, -dx, -dy, bound);
}
 
function scrollLayerBy(layer, dx, dy, bound) {
 
  var cl = getClipLeft(layer);
  var ct = getClipTop(layer);
  var cr = getClipRight(layer);
  var cb = getClipBottom(layer);
 
  if (bound) {
    if (cl + dx < 0)
 
      dx = -cl;
 
    else if (cr + dx > getWidth(layer))
      dx = getWidth(layer) - cr;
    if (ct + dy < 0)
 
      dy = -ct;
 
    else if (cb + dy > getHeight(layer))
      dy = getHeight(layer) - cb;
  }
 
  clipLayer(layer, cl + dx, ct + dy, cr + dx, cb + dy);
  moveLayerBy(layer, -dx, -dy);
}
 
//-----------------------------------------------------------------------------
// Layer background.
//-----------------------------------------------------------------------------
 
function setBgColor(layer, color) {
 
  if (isMinNS4)
    layer.bgColor = color;
  if (isMinIE4)
    layer.style.backgroundColor = color;
}
 
function setBgImage(layer, src) {
 
  if (isMinNS4)
    layer.background.src = src;
  if (isMinIE4)
    layer.style.backgroundImage = "url(" + src + " )";
}
 
//-----------------------------------------------------------------------------
// Layer utilities.
//-----------------------------------------------------------------------------
 
function getLayer(name) {
 
  if (isMinNS4)
    return findLayer(name, document);
  if (isMinIE4)
    return eval('document.all.' + name);
 
  return null;
}
 
function findLayer(name, doc) {
 
  var i, layer;
 
  for (i = 0; i < doc.layers.length; i++) {
    layer = doc.layers[i];
    if (layer.name == name)
      return layer;
    if (layer.document.layers.length > 0) {
      layer = findLayer(name, layer.document);
      if (layer != null)
        return layer;
    }
  }
 
  return null;
}
 
//-----------------------------------------------------------------------------
// Window and page properties.
//-----------------------------------------------------------------------------
 
function getWindowWidth() {
 
  if (isMinNS4)
    return(window.innerWidth);
  if (isMinIE4)
    return(document.body.clientWidth);
  return(-1);
}
 
function getWindowHeight() {
 
  if (isMinNS4)
    return(window.innerHeight);
  if (isMinIE4)
    return(document.body.clientHeight);
  return(-1);
}
 
function getPageWidth() {
 
  if (isMinNS4)
    return(document.width);
  if (isMinIE4)
    return(document.body.scrollWidth);
  return(-1);
}
 
function getPageHeight() {
 
  if (isMinNS4)
    return(document.height);
  if (isMinIE4)
    return(document.body.scrollHeight);
  return(-1);
}
 
function getPageScrollX() {
 
  if (isMinNS4)
    return(window.pageXOffset);
  if (isMinIE4)
    return(document.body.scrollLeft);
  return(-1);
}
 
function getPageScrollY() {
 
  if (isMinNS4)
    return(window.pageYOffset);
  if (isMinIE4)
    return(document.body.scrollTop);
  return(-1);
}


 
Je sais qu'il y a une histoire de document.getElementById mais je suis vraiment une tanche en js...
Serait-il possible d'avoir au moins la marche à suivre? :)

mood
Publicité
Posté le 10-07-2002 à 14:06:15  profilanswer
 

n°174318
youdontcar​e
Posté le 10-07-2002 à 14:08:29  profilanswer
 

annonce le prix d'abord.
 

Prosper Youplaboum a écrit a écrit :

Serait-il possible d'avoir au moins la marche à suivre? :)


1) lire la doc et les specs du DOM (google w3 dom)
 
2) isoler les bouts de scripts qui ne marchent que sous ie
 
3) google "mot clé qui ne marche que sous ie + mozilla"
 
3bis) google pareil avec "mot clé ... site:msdn.microsoft.com" pour voir si le mot clé est dans le standard.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Qui saura rendre ce script compatible NS6?

 

Sujets relatifs
Changer les propriétés de l'imprimante via Javascript.[Javascript] Ecriture layer compatible browsers
[JAVASCRIPT] Aideje n'arrive pas à faire fonctionner un script d'upload ..
probleme javascript[Javascript] DOM, tris de tableaux coté client ... AIDE NEDDED
Quel script PHP utiliser pour faire des logs/stats sur son site ?[Javascript] passage de paramètres
[Javascript] Temps de chargement (pas dans la barre d'état) 
Plus de sujets relatifs à : [Javascript] Qui saura rendre ce script compatible NS6?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR