Idl v1.2 - la librairie dhtml pour ie, netscape, mozilla, opera...

Soyez le premier à donner votre avis sur cette source.

Vue 7 936 fois - Téléchargée 355 fois

Description

Une librairie DHTML qui en plus de vous simplifier la programmation vous assurera une compatibilité avec IE, Netscape, Mozilla, Opera. Indispensable à tout programmeur qui ne veut pas voir son site s'afficher seulement sur IE.

Source / Exemple :


//Iwaweb Dynamic Library V1.2
//Copyright © 2000-2003, Iwaweb
//La modification, la rediffusion de ce script est strictement interdite, seule l'utilisation est autorisée
//Pour connaître les navigateurs compatibles avec IDL consultez la liste de compatiblité
//pour utiliser cette librairie insérez simplement cette ligne <script language="javascript" src="idl.js"></script>

//détecte le navigateur utilisé

ie=navigator.userAgent.toLowerCase().indexOf("msie");
gecko=navigator.userAgent.toLowerCase().indexOf("gecko");
opera=navigator.userAgent.toLowerCase().indexOf("opera");

if(ie>0 && opera<0)
	version=parseFloat(navigator.userAgent.substring(ie+5,ie+8));

if(opera>0)
	version=parseFloat(navigator.userAgent.substring(opera+6,opera+9));

if(ie>0 && version<5 && opera<0)
	alert("Attention, vous disposez d'une version d'Internet Explorer antérieure à la version 5.0. Risque d'erreur important !");

if(opera>0 && version<7)
	alert("Attention, vous disposez d'une version d'Opera antérieure à la version 7.0. Risque d'erreur important !");

if(opera<0 && gecko<0 && ie<0)
	alert("Attention, votre navigateur n'est pas reconnu par IDL. Risque d'erreur important !");

function creercalque(nom,largeur,hauteur,posix,posiy,couleur,paramsup,contenu,visibilite,zindex){
	//nom,couleur,contenu et paramsup sont des chaines de caractère; largeur,hauteur,posix,posiy,zindex sont des entiers
	//Action: crée un calque

	document.write("<div id="+nom+" style='position:absolute;height:"+hauteur+"px;width:"+largeur+"px;left:"+posix+"px;top:"+posiy+"px;background-color:"+couleur+";visibility:"+visibilite+";z-index:"+zindex+"' "+paramsup+">"+contenu+"</div>");
}

function couleurcalque(nom,couleur){
	//nom et couleur sont des chaînes
	//Action: modifie la couleur du calque

	document.getElementById(nom).style.backgroundColor=couleur;
}

function contenucalque(nom,contenu){
	//nom et contenu sont des chaînes
	//Action: modifie le contenu du calque

	document.getElementById(nom).innerHTML=contenu;	
}

function lire_contenucalque(nom){
	//nom est une chaîne
	//Action: retourne dans une chaîne le contenu du calque

	return document.getElementById(nom).innerHTML;
}

function visibilitecalque(nom,visi){
	//nom est une chaîne, visi est une chaîne acceptant 2 valeurs "hidden" ou "visible"
	//Action: masque ou affiche le calque

	document.getElementById(nom).style.visibility=visi;
}

function indiquervisibilite(nom){
	//nom est une chaîne
	//Action: retourne une variable qui vaut 1 si le calque est visible, 0 dans le cas contraire

	var visi=0;
	if(document.getElementById(nom).style.visibility=="visible")
	{
		visi=1;
	}
	return visi;
}

function lire_largeurfenetre(){
	//Action: retourne la largeur de la fenetre en pixels
	//Attention le script qui emploie cette fonction doit être situé entre les balises <body> et </body>

	if(gecko>0)
		var LargeurFenetre=self.innerWidth;
	else
		var LargeurFenetre=document.body.clientWidth;

	return LargeurFenetre;
}

function lire_hauteurfenetre(){
	//Action: retourne la hauteur de la fenetre en pixels
	//Attention le script qui emploie cette fonction doit être situé entre les balises <body> et </body>	

	if(gecko>0)
		var HauteurFenetre=self.innerHeight;
	else
		var HauteurFenetre=document.body.clientHeight;

	return HauteurFenetre;
}

function positioncalque_x(nom,distance){
	//la variable distance(entier) indique la distance du calque en pixel par rapport au bord gauche de votre fenêtre
	//nom est une chaîne
	//Action: replace le calque

	document.getElementById(nom).style.left=distance;
}

function positioncalque_y(nom,distance){
	//la variable distance(entier) indique la distance du calque en pixel par rapport au bord supérieur de votre fenêtre
	//nom est une chaîne
	//Action: replace le calque

	document.getElementById(nom).style.top=distance;
}

function lire_positioncalque_x(nom){
	//nom est une chaîne
	//Action : retourne un entier indiquant la position du calque par rapport au bord gauche de la fenetre

	return eval(document.getElementById(nom).style.left.substring(0,document.getElementById(nom).style.left.indexOf("px")));
}

function lire_positioncalque_y(nom){
	//nom est une chaîne
	//Action : retourne un entier indiquant la position du calque par rapport au bord supérieur de la fenetre

	return eval(document.getElementById(nom).style.top.substring(0,document.getElementById(nom).style.top.indexOf("px")));
}

function largeurcalque(nom,largeur){
	//nom est une chaîne, largeur est un entier qui indique la largeur du calque en pixels
	//Action : modifie la largeur du calque

	document.getElementById(nom).style.width=largeur;	
}

function lire_largeurcalque(nom){
	//nom est une chaîne
	//Action : retourne la largeur du calque

	return document.getElementById(nom).offsetWidth;
}

function hauteurcalque(nom,hauteur)
{
	//nom est une chaîne, hauteur est un entier qui indique la hauteur du calque en pixels
	//Action : modifie la hauteur du calque

	document.getElementById(nom).style.height=hauteur;	
}

function lire_hauteurcalque(nom){
	//nom est une chaîne
	//Action : retourne la hauteur du calque

	return document.getElementById(nom).offsetHeight;
}

function modifierindex(nom,valeur){
	//nom est une chaîne et valeur est un entier
	//Action : modifie le z-index d'un calque

	document.getElementById(nom).style.zindex=valeur;
}

function lire_index(nom){
	//nom est une chaîne
	//Action : retourne le z-index du calque

	return document.getElementById(nom).style.zindex;
}

//initialisation à -1 pour que cette variable ne puisse désigner aucune touche au démarrage
toucheactive=-1;

if(gecko>0){
	//détecte le code d'une touche avec un navigateur disposant du moteur Gecko

	function touche_gecko(evnt){
		toucheactive=evnt.keyCode;
	}
	document.onkeydown=touche_gecko;
}
else{
	//détecte le code d'une touche avec Internet Explorer et Opera
	//Attention avec certaines touches les indications d'Opera sont complètement fausses

	function touche_ie(){
		toucheactive=event.keyCode;
	}
	document.onkeydown=touche_ie;
}

Conclusion :


Cette librairie DHTML est compatible avec Internet Explorer(5.0+), Netscape(6.x et 7.x), Mozilla(1.0+), Opera(7.0+). Pour en savoir plus consultez la liste des navigateur compatibles incluse dans le zip.

Historique:
version 1.2(6/06/2003), nouveautés :
- modifierindex
- lire_index
- retrait d'un bug(avec Netscape 6.x)
- script désormais parfaitement compatible avec Opera(7.0+), une compatibilité qui
s'ajoute aux navigateurs suivant : navigateurs à base du moteur Gecko(Mozilla(1.0+), Netscape(6.0+)),
Internet Explorer(5.0+), Opera(7.0+) et tous les navigateurs respectant les norme du W3C
- modification des fonctions lire_hauteurfenetre, lire_largeurfenetre, lire_positioncalque_x, lire_positioncalque_y
- modification de la présentation de l'ensemble du script
- modification des commentaires du source

version 1.1(11/01/2003), nouveautés :
- lire_contenucalque
- lire_largeurfenetre
- lire_hauteurfenetre
- positioncalque_x
- positioncalque_y
- lire_positioncalque_x
- lire_positioncalque_y
- modification des commentaires du source

version 1.0(20/11/2002)
- 1ère version d'IDL, le script qui va vous permettre de réaliser des scripts compatible avec
la plupart des navigateurs(Internet Explorer, Netscape, Mozilla...)

Retrouvez les dernières MAJ sur http://www.iwaweb.net/

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Messages postés
2
Date d'inscription
mardi 20 mai 2003
Statut
Membre
Dernière intervention
29 octobre 2003

je ne suis pas une grande spécialiste de la programmation en javascript, mais ce code est tout simplement génial car il m'a permis de me sortir d'un problème qui me dérangeait depuis deux jours !!! merci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.