Base de connaissances CCM
Webmestre - Javascript




Sujet 883 - Javascript - Date de dernière modification de la page

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Il est possible, en langage Javascript, d'afficher la date de dernière modification de la page Web grâce à la propriété lastModified de l'objet document :

<SCRIPT language="javascript">
<!--
var derniereModif=document.lastModified;
var dateModif = new Date(derniereModif);
var jour = dateModif.getDate();
var mois=dateModif.getMonth();
var annee=dateModif.getYear();
var heures=dateModif.getHours();
var minutes=dateModif.getMinutes();

document.write("Dernière modification le ");
document.write(jour+"/"+"mois"+"/"+annee+" à "+heures+":"+minutes);

//-->
</SCRIPT>

Lire la suite

Javascript - Effacer un champ de formulaire lors du clic (focus) »
Publié par Jeff - Dernière mise à jour le 20 novembre 2009 à 18:26 par Jeff




Sujet 884 - Javascript - Effacer un champ de formulaire lors du clic (focus)

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Il vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de pouvoir écrire.

Il est possible de faire disparaître ce texte dès que l'utilisateur sélectionne ce champ (c'est-à-dire lorsque ce champ obtient le focus) :

<form  ... >
<input type="text" name="nom" size=16 value="Entrez ici votre nom" onFocus="javascript:this.value=''" />
<input type="submit" value="Valider" />
</form>

Cependant de cette façon le texte sera effacé quel qu'il soit !
On peut utiliser une condition pour ne remplacer que si la valeur est "Entrez ici votre nom" :
<input onclick="if(this.value=='Entrez ici votre nom')this.value=''; ... />

Lire la suite

Javascript - Lien aléatoire / Choisir un lien au hasard »
Publié par Jeff - Dernière mise à jour le 20 novembre 2009 à 18:25 par Jeff




Sujet 895 - Javascript - Lien aléatoire / Choisir un lien au hasard

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

« PrécédentSuivant »
Sommaire
Le script ci-dessous permet de créer un lien hypertexte dirigeant le visiteur vers une adresse choisie au hasard dans une liste.

Le code ci-dessous est à insérer entre les balises <head> et </head> en début de page :

<script Language="Javascript"> 
<!-- 
function LienAuHasard() 
{ 
    Url = new Array; 
    base = "http://www.commentcamarche.net/"; 
    Url[0] = "index.php3"; 
    Url[1] = "wifi"; 
    Url[2] = "php"; 
    Url[3] = "forum/"; 

    ChoixLien = Math.floor(Math.random() * Url.length); 
    window.open(base + Url[ChoixLien],'_blank'); 
} 
//--> 
</script>


Le code ci-dessous est à insérer dans le corps de la page web (quelque part entre les balises <body> et </body>) pour afficher le lien :
<a href="#" onClick="LienAuHasard(); return(false)">Lien aléatoire</aA>
Publié par Jeff - Dernière mise à jour le 16 juillet 2011 à 12:23 par crapoulou
Ce document intitulé « Javascript - Lien aléatoire / Choisir un lien au hasard » issu de CommentCaMarche.net (CCM) (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.




Sujet 1053 - Javascript - Convertisseur d'unités de mesures scientifiques

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Voici un convertisseur d'unités de mesures scientifiques qui marche juste en Javascript et en local dans le navigateur, sans faire appel à du code serveur. On peut convertir n'importe quelle unité (ou combinaison) en n'importe quelle autre à la volée :
<script language='Javascript'>



// new units can be added at the end of the list

// if 2 units have the same [number], the first one is ignored

// if 2 units have the same symbol, the second one is ignored

// fundamental SI units : meter, kilogram, second, Ampere, Kelvin, mol, candela

// ex: hr = time = s =>  m^0.kg^0.s^1.A^0.K^0.mol^0.cd^0

// ex: g = acceleration = m / s^2 =>  m^1.kg^0.s^-2.A^0.K^0.mol^0.cd^0

// ex: V = tension = kg.m²/s³/A =>  m^2.kg^1.s^-3.A^-1.K^0.mol^0.cd^0



all_units = new Array();

  all_units[0] = new Array("Unit","Symbol","Value","m","kg","s","A","K","mol","cd");

  all_units[1] = new Array("g","g","0.00000000006672",3,-1,-2,0,0,0,0);

  all_units[2] = new Array("na","na","6.022169",0,0,0,0,0,-1,0);

  all_units[3] = new Array("yocto","yocto",1E-024,0,0,0,0,0,0,0);

  all_units[4] = new Array("zepto","zepto",1E-021,0,0,0,0,0,0,0);

  all_units[5] = new Array("atto","atto",1E-018,0,0,0,0,0,0,0);

  all_units[6] = new Array("femto","femto",1E-015,0,0,0,0,0,0,0);

  all_units[7] = new Array("pico","pico","0.000000000001",0,0,0,0,0,0,0);

  all_units[8] = new Array("nano","nano","0.000000001",0,0,0,0,0,0,0);

  all_units[9] = new Array("micro","micro","0.000001",0,0,0,0,0,0,0);

  all_units[10] = new Array("milli","milli","0.001",0,0,0,0,0,0,0);

  all_units[11] = new Array("centi","centi","0.01",0,0,0,0,0,0,0);

  all_units[12] = new Array("deci","deci","0.1",0,0,0,0,0,0,0);

  all_units[13] = new Array("demi","demi","0.5",0,0,0,0,0,0,0);

  all_units[14] = new Array("semi","semi","0.5",0,0,0,0,0,0,0);

  all_units[15] = new Array("kibi","kibi",8,0,0,0,0,0,0,0);

  all_units[16] = new Array("deca","deca",10,0,0,0,0,0,0,0);

  all_units[17] = new Array("deka","deka",10,0,0,0,0,0,0,0);

  all_units[18] = new Array("mebi","mebi",22,0,0,0,0,0,0,0);

  all_units[19] = new Array("gibi","gibi",28,0,0,0,0,0,0,0);

  all_units[20] = new Array("tebi","tebi",42,0,0,0,0,0,0,0);

  all_units[21] = new Array("pebi","pebi",48,0,0,0,0,0,0,0);

  all_units[22] = new Array("exbi","exbi",62,0,0,0,0,0,0,0);

  all_units[23] = new Array("hecto","hecto",100,0,0,0,0,0,0,0);

  all_units[24] = new Array("kilo","kilo",1000,0,0,0,0,0,0,0);

  all_units[25] = new Array("mega","Mega",1000000,0,0,0,0,0,0,0);

  all_units[26] = new Array("giga","Giga",1000000000,0,0,0,0,0,0,0);

  all_units[27] = new Array("tera","Tera",1000000000000,0,0,0,0,0,0,0);

  all_units[28] = new Array("peta","Peta",1E+015,0,0,0,0,0,0,0);

  all_units[29] = new Array("exa","Exa",1E+018,0,0,0,0,0,0,0);

  all_units[30] = new Array("zetta","Zetta",1E+021,0,0,0,0,0,0,0);

  all_units[31] = new Array("yotta","Yotta",1E+024,0,0,0,0,0,0,0);

  all_units[32] = new Array("g0","g0","9.80665",1,0,-2,0,0,0,0);

  all_units[33] = new Array("barn","barn",1E-028,2,0,0,0,0,0,0);

  all_units[34] = new Array("barns","barns",1E-028,2,0,0,0,0,0,0);

  all_units[35] = new Array("are","are",100,2,0,0,0,0,0,0);

  all_units[36] = new Array("ares","ares",100,2,0,0,0,0,0,0);

  all_units[37] = new Array("acre","acre","4046.8564224",2,0,0,0,0,0,0);

  all_units[38] = new Array("acres","acres","4046.8564224",2,0,0,0,0,0,0);

  all_units[39] = new Array("hectare","hectare",10000,2,0,0,0,0,0,0);

  all_units[40] = new Array("hectares","hectares",10000,2,0,0,0,0,0,0);

  all_units[41] = new Array("pf","pf","0.000000000001",-2,-1,4,2,0,0,0);

  all_units[42] = new Array("statfarad","statfarad","0.000000000001113",-2,-1,4,2,0,0,0);

  all_units[43] = new Array("statfarads","statfarads","0.000000000001113",-2,-1,4,2,0,0,0);

  all_units[44] = new Array("uf","uf","0.000001",-2,-1,4,2,0,0,0);

  all_units[45] = new Array("f","f",1,-2,-1,4,2,0,0,0);

  all_units[46] = new Array("farad","farad",1,-2,-1,4,2,0,0,0);

  all_units[47] = new Array("farads","farads",1,-2,-1,4,2,0,0,0);

  all_units[48] = new Array("abfarad","abfarad",1000000000,-2,-1,4,2,0,0,0);

  all_units[49] = new Array("abfarads","abfarads",1000000000,-2,-1,4,2,0,0,0);

  all_units[50] = new Array("elementary-charge","elementary-charge","1.6021892E-019",0,0,1,1,0,0,0);

  all_units[51] = new Array("eq","eq","1.6021892E-019",0,0,1,1,0,0,0);

  all_units[52] = new Array("statcoul","statcoul","0.0000000003336",0,0,1,1,0,0,0);

  all_units[53] = new Array("statcoulomb","statcoulomb","0.0000000003336",0,0,1,1,0,0,0);

  all_units[54] = new Array("statcoulombs","statcoulombs","0.0000000003336",0,0,1,1,0,0,0);

  all_units[55] = new Array("coul","Coul",1,0,0,1,1,0,0,0);

  all_units[56] = new Array("coulomb","Coulomb",1,0,0,1,1,0,0,0);

  all_units[57] = new Array("coulomb","C",1,0,0,1,1,0,0,0);

  all_units[58] = new Array("abcoul","abcoul",10,0,0,1,1,0,0,0);

  all_units[59] = new Array("abcoulomb","abcoulomb",10,0,0,1,1,0,0,0);

  all_units[60] = new Array("abcoulombs","abcoulombs",10,0,0,1,1,0,0,0);

  all_units[61] = new Array("mho","mho",1,-2,-1,3,2,0,0,0);

  all_units[62] = new Array("mhos","mhos",1,-2,-1,3,2,0,0,0);

  all_units[63] = new Array("siemens","Siemens",1,-2,-1,3,2,0,0,0);

  all_units[64] = new Array("statamp","statamp","0.0000000003336",0,0,0,1,0,0,0);

  all_units[65] = new Array("statampere","statampere","0.0000000003336",0,0,0,1,0,0,0);

  all_units[66] = new Array("statamperes","statamperes","0.0000000003336",0,0,0,1,0,0,0);

  all_units[67] = new Array("statamps","statamps","0.0000000003336",0,0,0,1,0,0,0);

  all_units[68] = new Array("µA","µA","0.000001",0,0,0,1,0,0,0);

  all_units[69] = new Array("mA","mA","0.001",0,0,0,1,0,0,0);

  all_units[70] = new Array("amp","amp",1,0,0,0,1,0,0,0);

  all_units[71] = new Array("Ampere","Ampere",1,0,0,0,1,0,0,0);

  all_units[72] = new Array("Amperes","Amperes",1,0,0,0,1,0,0,0);

  all_units[73] = new Array("A","A",1,0,0,0,1,0,0,0);

  all_units[74] = new Array("abamp","abamp",10,0,0,0,1,0,0,0);

  all_units[75] = new Array("abampere","abampere",10,0,0,0,1,0,0,0);

  all_units[76] = new Array("abamperes","abamperes",10,0,0,0,1,0,0,0);

  all_units[77] = new Array("abamps","abamps",10,0,0,0,1,0,0,0);

  all_units[78] = new Array("bit","bit",1,0,0,0,0,0,0,0);

  all_units[79] = new Array("bits","bits",1,0,0,0,0,0,0,0);

  all_units[80] = new Array("byte","byte",8,0,0,0,0,0,0,0);

  all_units[81] = new Array("bytes","bytes",8,0,0,0,0,0,0,0);

  all_units[82] = new Array("quintillionth","quintillionth",1E-018,0,0,0,0,0,0,0);

  all_units[83] = new Array("quadrillionth","quadrillionth",1E-015,0,0,0,0,0,0,0);

  all_units[84] = new Array("trillionth","trillionth","0.000000000001",0,0,0,0,0,0,0);

  all_units[85] = new Array("billionth","billionth","0.000000001",0,0,0,0,0,0,0);

  all_units[86] = new Array("millionth","millionth","0.000001",0,0,0,0,0,0,0);

  all_units[87] = new Array("thousandth","thousandth","0.001",0,0,0,0,0,0,0);

  all_units[88] = new Array("%","%","0.01",0,0,0,0,0,0,0);

  all_units[89] = new Array("hundredth","hundredth","0.01",0,0,0,0,0,0,0);

  all_units[90] = new Array("percent","percent","0.01",0,0,0,0,0,0,0);

  all_units[91] = new Array("tenth","tenth","0.1",0,0,0,0,0,0,0);

  all_units[92] = new Array("e","e","2.71828182845904",0,0,0,0,0,0,0);

  all_units[93] = new Array("pi","pi","3.14159265358979",0,0,0,0,0,0,0);

  all_units[94] = new Array("hundred","hundred",100,0,0,0,0,0,0,0);

  all_units[95] = new Array("hundreds","hundreds",100,0,0,0,0,0,0,0);

  all_units[96] = new Array("gross","gross",144,0,0,0,0,0,0,0);

  all_units[97] = new Array("thousand","thousand",1000,0,0,0,0,0,0,0);

  all_units[98] = new Array("thousands","thousands",1000,0,0,0,0,0,0,0);

  all_units[99] = new Array("million","million",1000000,0,0,0,0,0,0,0);

  all_units[100] = new Array("millions","millions",1000000,0,0,0,0,0,0,0);

  all_units[101] = new Array("billion","billion",1000000000,0,0,0,0,0,0,0);

  all_units[102] = new Array("billions","billions",1000000000,0,0,0,0,0,0,0);

  all_units[103] = new Array("trillion","trillion",1000000000000,0,0,0,0,0,0,0);

  all_units[104] = new Array("trillions","trillions",1000000000000,0,0,0,0,0,0,0);

  all_units[105] = new Array("quadrillion","quadrillion",1E+015,0,0,0,0,0,0,0);

  all_units[106] = new Array("quadrillions","quadrillions",1E+015,0,0,0,0,0,0,0);

  all_units[107] = new Array("quintillion","quintillion",1E+018,0,0,0,0,0,0,0);

  all_units[108] = new Array("quintillions","quintillions",1E+018,0,0,0,0,0,0,0);

  all_units[109] = new Array("Ang","Ang","0.0000000001",1,0,0,0,0,0,0);

  all_units[110] = new Array("Angstrom","Angstrom","0.0000000001",1,0,0,0,0,0,0);

  all_units[111] = new Array("Angstroms","Angstroms","0.0000000001",1,0,0,0,0,0,0);

  all_units[112] = new Array("micron","micron","0.000001",1,0,0,0,0,0,0);

  all_units[113] = new Array("mm","mm","0.001",1,0,0,0,0,0,0);

  all_units[114] = new Array("µm","µm","0.000001",1,0,0,0,0,0,0);

  all_units[115] = new Array("mil","mil","0.0000254",1,0,0,0,0,0,0);

  all_units[116] = new Array("mils","mils","0.0000254",1,0,0,0,0,0,0);

  all_units[117] = new Array("point","point","0.000352777777778",1,0,0,0,0,0,0);

  all_units[118] = new Array("pica","pica","0.004233333333333",1,0,0,0,0,0,0);

  all_units[119] = new Array("cm","cm","0.01",1,0,0,0,0,0,0);

  all_units[120] = new Array("in","in","0.0254",1,0,0,0,0,0,0);

  all_units[121] = new Array("inch","inch","0.0254",1,0,0,0,0,0,0);

  all_units[122] = new Array("inches","inches","0.0254",1,0,0,0,0,0,0);

  all_units[123] = new Array("feet","feet","0.3048",1,0,0,0,0,0,0);

  all_units[124] = new Array("foot","foot","0.3048",1,0,0,0,0,0,0);

  all_units[125] = new Array("ft","ft","0.3048",1,0,0,0,0,0,0);

  all_units[126] = new Array("yard","yard","0.9144",1,0,0,0,0,0,0);

  all_units[127] = new Array("yards","yards","0.9144",1,0,0,0,0,0,0);

  all_units[128] = new Array("m","m",1,1,0,0,0,0,0,0);

  all_units[129] = new Array("meter","meter",1,1,0,0,0,0,0,0);

  all_units[130] = new Array("meters","meters",1,1,0,0,0,0,0,0);

  all_units[131] = new Array("fathom","fathom",18288,1,0,0,0,0,0,0);

  all_units[132] = new Array("fathoms","fathoms",18288,1,0,0,0,0,0,0);

  all_units[133] = new Array("perch","perch",50292,1,0,0,0,0,0,0);

  all_units[134] = new Array("perches","perches",50292,1,0,0,0,0,0,0);

  all_units[135] = new Array("pole","pole",50292,1,0,0,0,0,0,0);

  all_units[136] = new Array("poles","poles",50292,1,0,0,0,0,0,0);

  all_units[137] = new Array("rod","rod",50292,1,0,0,0,0,0,0);

  all_units[138] = new Array("rods","rods",50292,1,0,0,0,0,0,0);

  all_units[139] = new Array("furlong","furlong","201.168",1,0,0,0,0,0,0);

  all_units[140] = new Array("furlongs","furlongs","201.168",1,0,0,0,0,0,0);

  all_units[141] = new Array("km","km",1000,1,0,0,0,0,0,0);

  all_units[142] = new Array("mi","mi","1609.344",1,0,0,0,0,0,0);

  all_units[143] = new Array("mile","mile","1609.344",1,0,0,0,0,0,0);

  all_units[144] = new Array("miles","miles","1609.344",1,0,0,0,0,0,0);

  all_units[145] = new Array("nautical-mile","nautical-mile",1852,1,0,0,0,0,0,0);

  all_units[146] = new Array("nautical-miles","nautical-miles",1852,1,0,0,0,0,0,0);

  all_units[147] = new Array("nauticalmile","nauticalmile",1852,1,0,0,0,0,0,0);

  all_units[148] = new Array("nauticalmiles","nauticalmiles",1852,1,0,0,0,0,0,0);

  all_units[149] = new Array("NM","NM",1852,1,0,0,0,0,0,0);

  all_units[150] = new Array("rp","rp",6356912,1,0,0,0,0,0,0);

  all_units[151] = new Array("re","re",6378388,1,0,0,0,0,0,0);

  all_units[152] = new Array("astronomical-unit","astronomical-unit",149598000000,1,0,0,0,0,0,0);

  all_units[153] = new Array("au","au",149598000000,1,0,0,0,0,0,0);

  all_units[154] = new Array("light-year","light-year","9.46E+015",1,0,0,0,0,0,0);

  all_units[155] = new Array("light-years","light-years","9.46E+015",1,0,0,0,0,0,0);

  all_units[156] = new Array("lightyear","lightyear","9.46E+015",1,0,0,0,0,0,0);

  all_units[157] = new Array("lightyears","lightyears","9.46E+015",1,0,0,0,0,0,0);

  all_units[158] = new Array("ly","ly","9.46E+015",1,0,0,0,0,0,0);

  all_units[159] = new Array("parsec","parsec","3.083E+016",1,0,0,0,0,0,0);

  all_units[160] = new Array("parsecs","parsecs","3.083E+016",1,0,0,0,0,0,0);

  all_units[161] = new Array("rad","rad","0.01",2,0,-2,0,0,0,0);

  all_units[162] = new Array("rem","rem","0.01",2,0,-2,0,0,0,0);

  all_units[163] = new Array("gray","gray",1,2,0,-2,0,0,0,0);

  all_units[164] = new Array("gy","gy",1,2,0,-2,0,0,0,0);

  all_units[165] = new Array("Sievert","Sievert",1,2,0,-2,0,0,0,0);

  all_units[166] = new Array("Sv","Sv",1,2,0,-2,0,0,0,0);

  all_units[167] = new Array("abvolt","abvolt","0.00000001",2,1,-3,-1,0,0,0);

  all_units[168] = new Array("abvolts","abvolts","0.00000001",2,1,-3,-1,0,0,0);

  all_units[169] = new Array("µV","µV","0.000001",2,1,-3,-1,0,0,0);

  all_units[170] = new Array("mV","mV","0.001",2,1,-3,-1,0,0,0);

  all_units[171] = new Array("V","V",1,2,1,-3,-1,0,0,0);

  all_units[172] = new Array("Volt","Volt",1,2,1,-3,-1,0,0,0);

  all_units[173] = new Array("volts","Volts",1,2,1,-3,-1,0,0,0);

  all_units[174] = new Array("statvolt","statvolt","299.8",2,1,-3,-1,0,0,0);

  all_units[175] = new Array("statvolts","statvolts","299.8",2,1,-3,-1,0,0,0);

  all_units[176] = new Array("electron-volt","electron-volt","1.60217733E-019",2,1,-2,0,0,0,0);

  all_units[177] = new Array("electron-volts","electron-volts","1.60217733E-019",2,1,-2,0,0,0,0);

  all_units[178] = new Array("electronvolt","electronvolt","1.60217733E-019",2,1,-2,0,0,0,0);

  all_units[179] = new Array("electronvolts","electronvolts","1.60217733E-019",2,1,-2,0,0,0,0);

  all_units[180] = new Array("ev","eV","1.60217733E-019",2,1,-2,0,0,0,0);

  all_units[181] = new Array("mev","meV","0.000000000000160217733",2,1,-2,0,0,0,0);

  all_units[182] = new Array("gev","geV","0.000000000160217733",2,1,-2,0,0,0,0);

  all_units[183] = new Array("erg","erg","0.0000001",2,1,-2,0,0,0,0);

  all_units[184] = new Array("ergs","ergs","0.0000001",2,1,-2,0,0,0,0);

  all_units[185] = new Array("teV","teV","0.000000160217733",2,1,-2,0,0,0,0);

  all_units[186] = new Array("Joule","J",1,2,1,-2,0,0,0,0);

  all_units[187] = new Array("joule","Joule",1,2,1,-2,0,0,0,0);

  all_units[188] = new Array("joules","Joules",1,2,1,-2,0,0,0,0);

  all_units[189] = new Array("cal","Cal",4184,2,1,-2,0,0,0,0);

  all_units[190] = new Array("calorie","Calorie",4184,2,1,-2,0,0,0,0);

  all_units[191] = new Array("calories","Calories",4184,2,1,-2,0,0,0,0);

  all_units[192] = new Array("british-thermal-unit","british-thermal-unit","1055.056",2,1,-2,0,0,0,0);

  all_units[193] = new Array("british-thermal-units","british-thermal-units","1055.056",2,1,-2,0,0,0,0);

  all_units[194] = new Array("britishthermalunit","britishthermalunit","1055.056",2,1,-2,0,0,0,0);

  all_units[195] = new Array("britishthermalunits","britishthermalunits","1055.056",2,1,-2,0,0,0,0);

  all_units[196] = new Array("Btu","Btu","1055.056",2,1,-2,0,0,0,0);

  all_units[197] = new Array("Btus","Btus","1055.056",2,1,-2,0,0,0,0);

  all_units[198] = new Array("kcal","kcal",4184,2,1,-2,0,0,0,0);

  all_units[199] = new Array("kwh","kwh",3600000,2,1,-2,0,0,0,0);

  all_units[200] = new Array("dyne","dyne",10,1,1,-2,0,0,0,0);

  all_units[201] = new Array("dynes","dynes",10,1,1,-2,0,0,0,0);

  all_units[202] = new Array("gram-force","gram-force","0.00980665",1,1,-2,0,0,0,0);

  all_units[203] = new Array("gram-weight","gram-weight","0.00980665",1,1,-2,0,0,0,0);

  all_units[204] = new Array("ounce-force","ounce-force","0.278013850953781",1,1,-2,0,0,0,0);

  all_units[205] = new Array("ozf","ozf","0.278013850953781",1,1,-2,0,0,0,0);

  all_units[206] = new Array("newton","newton",1,1,1,-2,0,0,0,0);

  all_units[207] = new Array("N","N",1,1,1,-2,0,0,0,0);

  all_units[208] = new Array("nt","nt",1,1,1,-2,0,0,0,0);

  all_units[209] = new Array("lb","lb","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[210] = new Array("lbf","lbf","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[211] = new Array("lbs","lbs","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[212] = new Array("pound","pound","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[213] = new Array("pound-force","pound-force","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[214] = new Array("pound-weight","pound-weight","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[215] = new Array("pounds","pounds","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[216] = new Array("pounds-force","pounds-force","4.4482216152605",1,1,-2,0,0,0,0);

  all_units[217] = new Array("kgf","kgf","9.80665",1,1,-2,0,0,0,0);

  all_units[218] = new Array("rpm","rpm","0.016666666666667",0,0,-1,0,0,0,0);

  all_units[219] = new Array("becquerel","becquerel",1,0,0,-1,0,0,0,0);

  all_units[220] = new Array("Bq","Bq",1,0,0,-1,0,0,0,0);

  all_units[221] = new Array("hertz","hertz",1,0,0,-1,0,0,0,0);

  all_units[222] = new Array("Hz","Hz",1,0,0,-1,0,0,0,0);

  all_units[223] = new Array("abhenry","abhenry","0.000000001",2,1,-2,-2,0,0,0);

  all_units[224] = new Array("abhenrys","abhenrys","0.000000001",2,1,-2,-2,0,0,0);

  all_units[225] = new Array("uH","uH","0.000001",2,1,-2,-2,0,0,0);

  all_units[226] = new Array("mH","mH","0.001",2,1,-2,-2,0,0,0);

  all_units[227] = new Array("Henry","Henry",1,2,1,-2,-2,0,0,0);

  all_units[228] = new Array("Henrys","H",1,2,1,-2,-2,0,0,0);

  all_units[229] = new Array("stathenry","stathenry",898700000000,2,1,-2,-2,0,0,0);

  all_units[230] = new Array("stathenrys","stathenrys",898700000000,2,1,-2,-2,0,0,0);

  all_units[231] = new Array("candela","candela",1,0,0,0,0,0,0,1);

  all_units[232] = new Array("candelas","candelas",1,0,0,0,0,0,0,1);

  all_units[233] = new Array("candle","candle",1,0,0,0,0,0,0,1);

  all_units[234] = new Array("candles","candles",1,0,0,0,0,0,0,1);

  all_units[235] = new Array("cd","cd",1,0,0,0,0,0,0,1);

  all_units[236] = new Array("gauss","gauss","0.0001",1,0,-2,-1,0,0,0);

  all_units[237] = new Array("tesla","tesla",1,1,0,-2,-1,0,0,0);

  all_units[238] = new Array("teslas","T",1,1,0,-2,-1,0,0,0);

  all_units[239] = new Array("maxwell","maxwell","0.00000001",2,1,-2,-1,0,0,0);

  all_units[240] = new Array("maxwells","maxwells","0.00000001",2,1,-2,-1,0,0,0);

  all_units[241] = new Array("wb","Wb",1,2,1,-2,-1,0,0,0);

  all_units[242] = new Array("weber","weber",1,2,1,-2,-1,0,0,0);

  all_units[243] = new Array("webers","webers",1,2,1,-2,-1,0,0,0);

  all_units[244] = new Array("amu","amu","1.6605402E-027",0,1,0,0,0,0,0);

  all_units[245] = new Array("atomic-mass-unit","atomic-mass-unit","1.6605402E-027",0,1,0,0,0,0,0);

  all_units[246] = new Array("atomic-mass-units","atomic-mass-units","1.6605402E-027",0,1,0,0,0,0,0);

  all_units[247] = new Array("u","u","1.6605402E-027",0,1,0,0,0,0,0);

  all_units[248] = new Array("ug","ug","0.000000001",0,1,0,0,0,0,0);

  all_units[249] = new Array("mg","mg","0.000001",0,1,0,0,0,0,0);

  all_units[250] = new Array("cg","cg","0.00001",0,1,0,0,0,0,0);

  all_units[251] = new Array("grain","grain","0.0000648",0,1,0,0,0,0,0);

  all_units[252] = new Array("grains","grains","0.0000648",0,1,0,0,0,0,0);

  all_units[253] = new Array("dg","dg","0.0001",0,1,0,0,0,0,0);

  all_units[254] = new Array("carat","carat","0.0002",0,1,0,0,0,0,0);

  all_units[255] = new Array("carats","carats","0.0002",0,1,0,0,0,0,0);

  all_units[256] = new Array("karat","karat","0.0002",0,1,0,0,0,0,0);

  all_units[257] = new Array("karats","karats","0.0002",0,1,0,0,0,0,0);

  all_units[258] = new Array("j-point","j-point","0.0004",0,1,0,0,0,0,0);

  all_units[259] = new Array("gm","gm","0.001",0,1,0,0,0,0,0);

  all_units[260] = new Array("gram","gram","0.001",0,1,0,0,0,0,0);

  all_units[261] = new Array("grams","grams","0.001",0,1,0,0,0,0,0);

  all_units[262] = new Array("scruple","scruple","0.001296",0,1,0,0,0,0,0);

  all_units[263] = new Array("scruples","scruples","0.001296",0,1,0,0,0,0,0);

  all_units[264] = new Array("pennyweight","pennyweight","0.001555",0,1,0,0,0,0,0);

  all_units[265] = new Array("pennyweights","pennyweights","0.001555",0,1,0,0,0,0,0);

  all_units[266] = new Array("dram","dram","0.0017718451953125",0,1,0,0,0,0,0);

  all_units[267] = new Array("drams","drams","0.0017718451953125",0,1,0,0,0,0,0);

  all_units[268] = new Array("dag","dag","0.01",0,1,0,0,0,0,0);

  all_units[269] = new Array("ounce","ounce","0.028349523125",0,1,0,0,0,0,0);

  all_units[270] = new Array("ounces","ounces","0.028349523125",0,1,0,0,0,0,0);

  all_units[271] = new Array("oz","oz","0.028349523125",0,1,0,0,0,0,0);

  all_units[272] = new Array("ounce-troy","ounce-troy","0.031103",0,1,0,0,0,0,0);

  all_units[273] = new Array("ounces-troy","ounces-troy","0.031103",0,1,0,0,0,0,0);

  all_units[274] = new Array("troy-ounce","troy-ounce","0.031103",0,1,0,0,0,0,0);

  all_units[275] = new Array("troy-ounces","troy-ounces","0.031103",0,1,0,0,0,0,0);

  all_units[276] = new Array("hg","hg","0.1",0,1,0,0,0,0,0);

  all_units[277] = new Array("troy-pound","troy-pound","0.373",0,1,0,0,0,0,0);

  all_units[278] = new Array("troy-pounds","troy-pounds","0.373",0,1,0,0,0,0,0);

  all_units[279] = new Array("lbm","lbm","0.45359237",0,1,0,0,0,0,0);

  all_units[280] = new Array("lbms","lbms","0.45359237",0,1,0,0,0,0,0);

  all_units[281] = new Array("pound-mass","pound-mass","0.45359237",0,1,0,0,0,0,0);

  all_units[282] = new Array("pounds-mass","pounds-mass","0.45359237",0,1,0,0,0,0,0);

  all_units[283] = new Array("kg","kg",1,0,1,0,0,0,0,0);

  all_units[284] = new Array("stone","stone","6.35029318",0,1,0,0,0,0,0);

  all_units[285] = new Array("stones","stones","6.35029318",0,1,0,0,0,0,0);

  all_units[286] = new Array("slug","slug","14.5939029372064",0,1,0,0,0,0,0);

  all_units[287] = new Array("slugs","slugs","14.5939029372064",0,1,0,0,0,0,0);

  all_units[288] = new Array("hundredweight","hundredweight","45.359237",0,1,0,0,0,0,0);

  all_units[289] = new Array("hundredweights","hundredweights","45.359237",0,1,0,0,0,0,0);

  all_units[290] = new Array("short-ton","short-ton","907.18474",0,1,0,0,0,0,0);

  all_units[291] = new Array("short-tons","short-tons","907.18474",0,1,0,0,0,0,0);

  all_units[292] = new Array("ton","ton","907.18474",0,1,0,0,0,0,0);

  all_units[293] = new Array("tons","tons","907.18474",0,1,0,0,0,0,0);

  all_units[294] = new Array("metric-ton","metric-ton",1000,0,1,0,0,0,0,0);

  all_units[295] = new Array("metric-tons","metric-tons",1000,0,1,0,0,0,0,0);

  all_units[296] = new Array("tonne","tonne",1000,0,1,0,0,0,0,0);

  all_units[297] = new Array("tonnes","tonnes",1000,0,1,0,0,0,0,0);

  all_units[298] = new Array("long-ton","long-ton","1016.0469088",0,1,0,0,0,0,0);

  all_units[299] = new Array("long-tons","long-tons","1016.0469088",0,1,0,0,0,0,0);

  all_units[300] = new Array("h","h","6.626196E-034",2,1,-3,0,0,0,0);

  all_units[301] = new Array("W","W",1,2,1,-3,0,0,0,0);

  all_units[302] = new Array("Watt","Watt",1,2,1,-3,0,0,0,0);

  all_units[303] = new Array("Watts","Watts",1,2,1,-3,0,0,0,0);

  all_units[304] = new Array("horsepower","horsepower","745.69987158227",2,1,-3,0,0,0,0);

  all_units[305] = new Array("hp","hp","745.69987158227",2,1,-3,0,0,0,0);

  all_units[306] = new Array("Pa","Pa",1,-1,1,-2,0,0,0,0);

  all_units[307] = new Array("Pascal","Pascal",1,-1,1,-2,0,0,0,0);

  all_units[308] = new Array("torr","torr","133.322368421053",-1,1,-2,0,0,0,0);

  all_units[309] = new Array("psi","psi","6894.75729316836",-1,1,-2,0,0,0,0);

  all_units[310] = new Array("bar","bar",100000,-1,1,-2,0,0,0,0);

  all_units[311] = new Array("bars","bars",100000,-1,1,-2,0,0,0,0);

  all_units[312] = new Array("atm","atm",101325,-1,1,-2,0,0,0,0);

  all_units[313] = new Array("atmosphere","atmosphere",101325,-1,1,-2,0,0,0,0);

  all_units[314] = new Array("abohm","abohm","0.000000001",2,1,-3,-2,0,0,0);

  all_units[315] = new Array("abohms","abohms","0.000000001",2,1,-3,-2,0,0,0);

  all_units[316] = new Array("Ohm","Ohm",1,2,1,-3,-2,0,0,0);

  all_units[317] = new Array("Ohms","Ohms",1,2,1,-3,-2,0,0,0);

  all_units[318] = new Array("kilohm","kilohm",1000,2,1,-3,-2,0,0,0);

  all_units[319] = new Array("kilohms","kilohms",1000,2,1,-3,-2,0,0,0);

  all_units[320] = new Array("megohm","megohm",1000000,2,1,-3,-2,0,0,0);

  all_units[321] = new Array("megohms","megohms",1000000,2,1,-3,-2,0,0,0);

  all_units[322] = new Array("statohm","statohm",898700000000,2,1,-3,-2,0,0,0);

  all_units[323] = new Array("statohms","statohms",898700000000,2,1,-3,-2,0,0,0);

  all_units[324] = new Array("kph","kph","0.277777777777778",1,0,-1,0,0,0,0);

  all_units[325] = new Array("fps","fps","0.3048",1,0,-1,0,0,0,0);

  all_units[326] = new Array("mph","mph","0.44704",1,0,-1,0,0,0,0);

  all_units[327] = new Array("knot","kn","0.514444444444444",1,0,-1,0,0,0,0);

  all_units[328] = new Array("knots","kt","0.514444444444444",1,0,-1,0,0,0,0);

  all_units[329] = new Array("mps","mps",1,1,0,-1,0,0,0,0);

  all_units[330] = new Array("kps","kps",1000,1,0,-1,0,0,0,0);

  all_units[331] = new Array("c","c",299792458,1,0,-1,0,0,0,0);

  all_units[332] = new Array("speed-of-light","speed-of-light",299792458,1,0,-1,0,0,0,0);

  all_units[333] = new Array("mol","mol",1,0,0,0,0,0,1,0);

  all_units[334] = new Array("mole","mole",1,0,0,0,0,0,1,0);

  all_units[335] = new Array("moles","moles",1,0,0,0,0,0,1,0);

  all_units[336] = new Array("degree-rankine","degree-rankine","0.555555555555556",0,0,0,0,0,0,0);

  all_units[337] = new Array("degrees-rankine","degrees-rankine","0.555555555555556",0,0,0,0,0,0,0);

  all_units[338] = new Array("degree-kelvin","degree-kelvin",1,0,0,0,0,1,0,0);

  all_units[339] = new Array("degree-kelvins","degree-kelvins",1,0,0,0,0,1,0,0);

  all_units[340] = new Array("degrees-kelvin","degrees-kelvin",1,0,0,0,0,1,0,0);

  all_units[341] = new Array("K","K",1,0,0,0,0,1,0,0);

  all_units[342] = new Array("Kelvin","Kelvin",1,0,0,0,0,1,0,0);

  all_units[343] = new Array("Kelvins","Kelvins",1,0,0,0,0,1,0,0);

  all_units[344] = new Array("ps","ps","0.000000000001",0,0,1,0,0,0,0);

  all_units[345] = new Array("psec","psec","0.000000000001",0,0,1,0,0,0,0);

  all_units[346] = new Array("psecs","psecs","0.000000000001",0,0,1,0,0,0,0);

  all_units[347] = new Array("ns","ns","0.000000001",0,0,1,0,0,0,0);

  all_units[348] = new Array("nsec","nsec","0.000000001",0,0,1,0,0,0,0);

  all_units[349] = new Array("nsecs","nsecs","0.000000001",0,0,1,0,0,0,0);

  all_units[350] = new Array("µs","µs","0.000001",0,0,1,0,0,0,0);

  all_units[351] = new Array("µsec","µsec","0.000001",0,0,1,0,0,0,0);

  all_units[352] = new Array("µsecs","µsecs","0.000001",0,0,1,0,0,0,0);

  all_units[353] = new Array("ms","ms","0.001",0,0,1,0,0,0,0);

  all_units[354] = new Array("msec","msec","0.001",0,0,1,0,0,0,0);

  all_units[355] = new Array("msecs","msecs","0.001",0,0,1,0,0,0,0);

  all_units[356] = new Array("s","s",1,0,0,1,0,0,0,0);

  all_units[357] = new Array("sec","sec",1,0,0,1,0,0,0,0);

  all_units[358] = new Array("second","second",1,0,0,1,0,0,0,0);

  all_units[359] = new Array("seconds","seconds",1,0,0,1,0,0,0,0);

  all_units[360] = new Array("secs","secs",1,0,0,1,0,0,0,0);

  all_units[361] = new Array("min","min",60,0,0,1,0,0,0,0);

  all_units[362] = new Array("mins","mins",60,0,0,1,0,0,0,0);

  all_units[363] = new Array("minute","minute",60,0,0,1,0,0,0,0);

  all_units[364] = new Array("minutes","minutes",60,0,0,1,0,0,0,0);

  all_units[365] = new Array("hour","hour",3600,0,0,1,0,0,0,0);

  all_units[366] = new Array("hours","hours",3600,0,0,1,0,0,0,0);

  all_units[367] = new Array("hr","hr",3600,0,0,1,0,0,0,0);

  all_units[368] = new Array("hrs","hrs",3600,0,0,1,0,0,0,0);

  all_units[369] = new Array("day","day",86400,0,0,1,0,0,0,0);

  all_units[370] = new Array("days","days",86400,0,0,1,0,0,0,0);

  all_units[371] = new Array("week","week",604800,0,0,1,0,0,0,0);

  all_units[372] = new Array("weeks","weeks",604800,0,0,1,0,0,0,0);

  all_units[373] = new Array("wk","wk",604800,0,0,1,0,0,0,0);

  all_units[374] = new Array("fortnight","fortnight",1209600,0,0,1,0,0,0,0);

  all_units[375] = new Array("fortnights","fortnights",1209600,0,0,1,0,0,0,0);

  all_units[376] = new Array("mon","mon",2629800,0,0,1,0,0,0,0);

  all_units[377] = new Array("mons","mons",2629800,0,0,1,0,0,0,0);

  all_units[378] = new Array("month","month",2629800,0,0,1,0,0,0,0);

  all_units[379] = new Array("months","months",2629800,0,0,1,0,0,0,0);

  all_units[380] = new Array("year","year",31557600,0,0,1,0,0,0,0);

  all_units[381] = new Array("years","years",31557600,0,0,1,0,0,0,0);

  all_units[382] = new Array("yr","yr",31557600,0,0,1,0,0,0,0);

  all_units[383] = new Array("yrs","yrs",31557600,0,0,1,0,0,0,0);

  all_units[384] = new Array("score","score",631152000,0,0,1,0,0,0,0);

  all_units[385] = new Array("scores","scores",631152000,0,0,1,0,0,0,0);

  all_units[386] = new Array("centuries","centuries",3155760000,0,0,1,0,0,0,0);

  all_units[387] = new Array("century","century",3155760000,0,0,1,0,0,0,0);

  all_units[388] = new Array("millenia","millenia",31557600000,0,0,1,0,0,0,0);

  all_units[389] = new Array("millenium","millenium",31557600000,0,0,1,0,0,0,0);

  all_units[390] = new Array("foot-pound","foot-pound","1.3558179483314",2,1,-2,0,0,0,0);

  all_units[391] = new Array("foot-pounds","foot-pounds","1.3558179483314",2,1,-2,0,0,0,0);

  all_units[392] = new Array("footpound","footpound","1.3558179483314",2,1,-2,0,0,0,0);

  all_units[393] = new Array("footpounds","footpounds","1.3558179483314",2,1,-2,0,0,0,0);

  all_units[394] = new Array("ft-lb","ft-lb","1.3558179483314",2,1,-2,0,0,0,0);

  all_units[395] = new Array("ftlb","ftlb","1.3558179483314",2,1,-2,0,0,0,0);

  all_units[396] = new Array("minim","minim","0.000000059194",3,0,0,0,0,0,0);

  all_units[397] = new Array("minims","minims","0.000000059194",3,0,0,0,0,0,0);

  all_units[398] = new Array("cc","cc","0.000001",3,0,0,0,0,0,0);

  all_units[399] = new Array("ml","ml","0.000001",3,0,0,0,0,0,0);

  all_units[400] = new Array("fluidram","fluidram","0.0000035516",3,0,0,0,0,0,0);

  all_units[401] = new Array("fluidrams","fluidrams","0.0000035516",3,0,0,0,0,0,0);

  all_units[402] = new Array("teaspoon","teaspoon","0.00000492892159375",3,0,0,0,0,0,0);

  all_units[403] = new Array("teaspoons","teaspoons","0.00000492892159375",3,0,0,0,0,0,0);

  all_units[404] = new Array("tsp","tsp","0.00000492892159375",3,0,0,0,0,0,0);

  all_units[405] = new Array("cl","cl","0.00001",3,0,0,0,0,0,0);

  all_units[406] = new Array("tablespoon","tablespoon","0.00001478676478125",3,0,0,0,0,0,0);

  all_units[407] = new Array("tablespoons","tablespoons","0.00001478676478125",3,0,0,0,0,0,0);

  all_units[408] = new Array("tbsp","tbsp","0.00001478676478125",3,0,0,0,0,0,0);

  all_units[409] = new Array("floz","floz","0.0000295735295625",3,0,0,0,0,0,0);

  all_units[410] = new Array("fluid-ounce","fluid-ounce","0.0000295735295625",3,0,0,0,0,0,0);

  all_units[411] = new Array("fluid-ounces","fluid-ounces","0.0000295735295625",3,0,0,0,0,0,0);

  all_units[412] = new Array("fluidounce","fluidounce","0.0000295735295625",3,0,0,0,0,0,0);

  all_units[413] = new Array("fluidounces","fluidounces","0.0000295735295625",3,0,0,0,0,0,0);

  all_units[414] = new Array("dl","dl","0.0001",3,0,0,0,0,0,0);

  all_units[415] = new Array("gill","gill","0.00011829411825",3,0,0,0,0,0,0);

  all_units[416] = new Array("gills","gills","0.00011829411825",3,0,0,0,0,0,0);

  all_units[417] = new Array("cup","cup","0.0002365882365",3,0,0,0,0,0,0);

  all_units[418] = new Array("cups","cups","0.0002365882365",3,0,0,0,0,0,0);

  all_units[419] = new Array("pint","pint","0.000473176473",3,0,0,0,0,0,0);

  all_units[420] = new Array("pints","pints","0.000473176473",3,0,0,0,0,0,0);

  all_units[421] = new Array("pt","pt","0.000473176473",3,0,0,0,0,0,0);

  all_units[422] = new Array("fifth","fifth","0.0007570823568",3,0,0,0,0,0,0);

  all_units[423] = new Array("fifths","fifths","0.0007570823568",3,0,0,0,0,0,0);

  all_units[424] = new Array("qt","qt","0.000946352946",3,0,0,0,0,0,0);

  all_units[425] = new Array("quart","quart","0.000946352946",3,0,0,0,0,0,0);

  all_units[426] = new Array("quarts","quarts","0.000946352946",3,0,0,0,0,0,0);

  all_units[427] = new Array("l","l","0.001",3,0,0,0,0,0,0);

  all_units[428] = new Array("liter","liter","0.001",3,0,0,0,0,0,0);

  all_units[429] = new Array("L","L","0.001",3,0,0,0,0,0,0);

  all_units[430] = new Array("gal","gal","0.003785411784",3,0,0,0,0,0,0);

  all_units[431] = new Array("gallon","gallon","0.003785411784",3,0,0,0,0,0,0);

  all_units[432] = new Array("gallons","gallons","0.003785411784",3,0,0,0,0,0,0);

  all_units[433] = new Array("peck","peck","0.007570823568",3,0,0,0,0,0,0);

  all_units[434] = new Array("pecks","pecks","0.007570823568",3,0,0,0,0,0,0);

  all_units[435] = new Array("bushel","bushel","0.030283294272",3,0,0,0,0,0,0);

  all_units[436] = new Array("bushels","bushels","0.030283294272",3,0,0,0,0,0,0);

  all_units[437] = new Array("Angstrom","Å","1e-10",1,0,0,0,0,0,0);

  all_units[438] = new Array("Degree Celcius","°C",0,0,0,0,0,1,0,0);

  all_units[439] = new Array("Degree Farenheit","°F","1.8",0,0,0,0,1,0,0);

  all_units[440] = new Array("siemens","S",1,-2,-1,3,2,0,0,0);





	function min(a,b) {if (a<b) return(a); else return(b);}

	function max(a,b) {if (a>b) return(a); else return(b);}



	function analyse(coef,str)  //============================ splits units into fundamental SI units

		{

		var pos_dot;

		var pos_slash;

		var pos;

		var unit;

		var exponent;

		var invert_next = 0;

		var list_units_in = new Array;

		var table_base = new Array(coef,0,0,0,0,0,0,0);

		str = str + ".";

		var i = 0;

		while(str.length > 1) // for every unit in the unit input string

			{

			pos_dot = str.indexOf(".");

			pos_slash = str.indexOf("/");

			if (pos_dot == -1 || pos_slash == -1)

				pos = max(pos_dot,pos_slash);

			else

				pos = min(max(pos_dot,0),max(pos_slash,0));



			list_units_in[i] = str.substring(0,pos);

			str=str.substring(pos+1,str.length);



			pos_exp = list_units_in[i].indexOf("^");

			if (pos_exp == -1) // if there is no exponent

				{

				unit = list_units_in[i];

				exponent = 1;

				}

			else // there is an exponent

				{

				unit = list_units_in[i].substring(0,pos_exp);

				exponent = list_units_in[i].substring(pos_exp+1,list_units_in[i].length);

				}

			
			// if there is a / after the unit, next exponent is to be inverted

			if (invert_next) exponent = -exponent;

			if (pos == pos_slash) invert_next=1;  else invert_next=0;

			
			table_base_unit = fetch_unit(unit); // get the SI equivalent of the selected unit



			if (table_base_unit) // if found in the list

				{

				table_base[0] = table_base[0] * Math.pow(table_base_unit[2],exponent);

				for (j=1; j < 8; j++) // on incrémente les exposants des unités de base

					{

					table_base[j] = table_base[j] + ( exponent * table_base_unit[j+2] );

					}

				}

			else return(0); // there is a problem

			i = i + 1;

			}

		return(table_base);

		}



	function fetch_unit(symbol) //============================ fetches SI equivalents of a unit

		{

		k = 1;

		while (all_units[k])

			{

			if (all_units[k][1] == symbol) return(all_units[k]); // found !

			k = k + 1;

			}

		return(0); // not found

		}



	function exp_nice(string) //============================ replaces ^2 with ²

		{

		string = string.replace("^2","²");

		string = string.replace("^2","²");

		string = string.replace("^2","²");

		string = string.replace("^2","²");

		string = string.replace("^3","³");

		string = string.replace("^3","³");

		string = string.replace("^3","³");

		return(string);

		}



	function exp_clean(string) //============================ replace ² with ^2

		{

		string = string.replace("²","^2");

		string = string.replace("²","^2");

		string = string.replace("²","^2");

		string = string.replace("²","^2");

		string = string.replace("³","^3");

		string = string.replace("³","^3");

		string = string.replace("³","^3");

		return(string);

		}



	function display_unit(base_values,base)  //============================ Display results

		{

		if (base) // if fundamental SI units are required

			{

			var str_display = "";

			for (p = 1; p < 8; p++) // for m, kg, s, A, K, mol, cd

				{

				if (base_values[p] == 1)

					{

					str_display = "." + all_units[0][p+2] + str_display;

					}

				if (base_values[p] > 1) 

					{

					str_display = "." + all_units[0][p+2]+"^"+base_values[p] + str_display;

					}

				if (base_values[p] == -1)

					{

					str_display = str_display + "/" + all_units[0][p+2];

					}

				if (base_values[p] < -1) 

					{

					str_display = str_display + "/" + all_units[0][p+2]+"^"+Math.abs(base_values[p]);

					}

				}

			if (str_display.substring(0,1) == "/") // if first exponent is negative

				str_display = "1" + str_display

			else

				str_display = str_display.substring(1,str_display.length);

			}

		else // leave units as is

			{

			str_display = document.forms[0].units_out.value;

			}

		str_display = exp_nice(str_display);

		document.forms[0].units_out.value = str_display;

		
		document.forms[0].quantity_out.value = base_values[0];

		}



	function convert() //============================ main function

		{

		var units_base_in;

		var units_base_out;

		if(document.forms[0].quantity_in.value == "") document.forms[0].quantity_in.value = 1;

		if(document.forms[0].units_in.value == "") {document.forms[0].units_in.value = "???"; exit;}

		
		document.forms[0].units_in.value = exp_clean(document.forms[0].units_in.value);

		document.forms[0].units_out.value = exp_clean(document.forms[0].units_out.value);

		
		units_base_in = analyse(document.forms[0].quantity_in.value, document.forms[0].units_in.value);



		if(document.forms[0].units_out.value != "") // if specific units are requested for the result

			{

			units_base_out = analyse(1, document.forms[0].units_out.value);

			if (units_base_out) // if the units are found in the database

				{

				if (units_base_out[1] != units_base_in[1]

					|| units_base_out[2] != units_base_in[2]

					|| units_base_out[3] != units_base_in[3]

					|| units_base_out[4] != units_base_in[4]

					|| units_base_out[5] != units_base_in[5]

					|| units_base_out[6] != units_base_in[6]

					|| units_base_out[7] != units_base_in[7]) // if units are not compatible

					display_unit(units_base_in,1);

				else // all is OK

					{

					units_base_in[0] = units_base_in[0] / units_base_out[0];

					display_unit(units_base_in,0);

					}

				}

			else // unit not found

				display_unit(units_base_in,1);

			}

		else // no specific units requested

			display_unit(units_base_in,1);

		}



	function init_form() //============================ Initialization of the form

		{

		document.forms[0].quantity_in.value="";

		document.forms[0].units_in.value="mph";

		document.forms[0].quantity_out.value="";

		document.forms[0].units_out.value="";

		}



	function list_units() //============================ Displays a clickable list of units available

		{

		var n = 1;

		var list = new Array;

		while (all_units[n])

			{

			list[n-1] = all_units[n][1];

			n = n + 1;	 	 

			}

		list.sort();

		n = 0 ;

		while (list[n])

			{

			document.write("<a href='#' onClick='Javascript:document.forms[0].units_in.value=document.forms[0].units_in.value+\".\"+\"");

			document.write(list[n]);

			document.write("\"'>");

			document.write(list[n]);

			document.write("</a>, ");

			n = n + 1;	 	 

			}

		}



//============================ End of scripts



</script>



<html>

<head><title>Universal Converter</title></head>

<body>



<style>

	td{font-family: Arial; font-size: 10px; text-align: center;}

	.red{color: #ff0000;}

</style>



<h1>Universal Converter</h1>

<hr />



<form>

	<table align='center' border='1'>

		<tr>

			<td>

				<input type='text' size='10' name='quantity_in' align='right'>

			</td><td>

				<input type='text' size='15' name='units_in'>

			</td><td>

				<input type='button' value='convert =>' onClick='Javascript:convert();'>

			</td><td>

				<input type='text' size='20' name='quantity_out' align='right' bgcolor="#aaaaaa">

			</td><td>

				<input type='text' size='15' name='units_out'>

			</td>

		</tr>

		<tr><td>1</td><td>mph</td><td rowspan='9'>Examples<br><br>fields in black<br>are filled by user<br>fields in red<br>are the results </td><td class='red'>0.44704</td><td class='red'>m/s</td></tr>

		<tr><td>1</td><td>mi/hr</td><td class='red'>0.44704</td><td class='red'>m/s</td></tr>

		<tr><td>1</td><td>mi.hr^-1</td><td class='red'>0.44704</td><td class='red'>m/s</td></tr>

		<tr><td>1</td><td>mph</td><td class='red'>1.609344</td><td>km/hr</td></tr>

		<tr><td>9</td><td>kilo.m/hr</td><td class='red'>250</td><td>centi.m/s</td></tr>

		<tr><td>1.2345e+8</td><td>mph</td><td class='red'>55187088</td><td class='red'>m/s</td></tr>

		<tr><td>1</td><td>mph</td><td class='red'>1.4911649311738188e-9</td><td>c</td></tr>

		<tr><td>1</td><td>cm.kg/min^2/µA^2</td><td class='red'>2777.77777777777</td><td>H/mm</td></tr>

		<tr><td>1</td><td>cm.kg/min^2/µA^2</td><td class='red'>2777777.77777777</td><td class='red'>m.kg/s²/A²</td></tr>

	</table>

</form>



<hr />

<b>Help: </b>Units must be separated by dots (.) or slashes (/). Space is NOT a separator. Exponents may be used with the symbol ^ and can be positive or negative. Exponents ² and ³ are allowed. If destination units are not supplied or incompatible with source units, the values will be converted into base S.I. units. Units are case-sensitive. Values can be supplied in scientific format.

<hr />



<script language='Javascript'>

	init_form();

	list_units();

</script>



<hr />



<b>About the Universal converter:</b> This Javascript converter is provided as a standalone file that can be used online or offline. It can be copied and distributed freely, if only this mention is kept visible. Bugs, encouragement and new units can be sent to <a href='mailto:bocquet@bigfoot.com'>bocquet@bigfoot.com</a> (see the code source for the possibility to declare new units).



</font></body></html>

Lire la suite

Javascript - Interdire le clic droit de la souris »
Publié par Emmanuel Bocquet - Dernière mise à jour le 20 novembre 2009 à 18:26 par Jeff




Sujet 1980 - Javascript - Interdire le clic droit de la souris

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Il est possible d'empêcher que votre visiteur effectue un clic droit sur votre page.
Ceci permet une protection relative de vote code source et de vos photos.
Placez ce script entre les balises <HEAD> et </HEAD> de votre code HTML :
<SCRIPT LANGUAGE="JavaScript"> 
<!-- Disable 
function disableselect(e){ 
return false 
} 

function reEnable(){ 
return true 
} 

//if IE4+ 
document.onselectstart=new Function ("return false") 
document.oncontextmenu=new Function ("return false") 
//if NS6 
if (window.sidebar){ 
document.onmousedown=disableselect 
document.onclick=reEnable 
} 
//--> 
</script> 

Une autre possibilité est de désactiver le clic-droit dans chaque tag body :
<body onselectstart="return false" oncontextmenu="return false" ondragstart="return false" onMouseOver="window.status='..message perso .. '; return true;" > 


Attention, cette protection reste relative, cela ne préserve pas réellement vos pages, puisqu'il y a plusieurs manières (données à tous et extrêmement faciles, comme appuyer sur les deux boutons de la souris en même temps ou bombarder de clics droits...à la limite, prendre une photo de l'écran) pour contrer cette protection.

Par exemple, sous Firefox, pour contourner cette "protection" :
Aller dans le menu "Outils" > "Options" > "Fonctionnalités web" > "Avancé" et décocher la case "Désactiver ou remplacer le menu contextuel".

Il est aussi possible de, simplement, désactiver JavaScript ou d'utiliser un navigateur qui ne le supporte pas.

Source : http://www.editeurjavascript.com

Lire la suite

Javascript - Coloration syntaxique dans vos pages web »
Publié par Hamster Jovial - Dernière mise à jour le 30 avril 2010 à 05:25 par boule97




Sujet 3157 - Javascript - Coloration syntaxique dans vos pages web

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Si vous avez un site web contenant des exemples de code (php, javascript, C#, Delphi, Python...), il peut être intéressant d'avoir une coloration syntaxique.

C'est parfois pénible à réaliser, mais il existe une librairie Javascript qui permet de colorer automatiquement votre code C#, Delphi, Javascript, php, Python, Sql, VB, SQL et XML: dp.SyntaxHighlighter

C'est bien fait, léger, efficace, et en plus ça ne pose pas de problèmes sur les machines qui ne possèdent pas Javascript.

Homepage:
http://code.google.com/p/syntaxhighlighter/

Exemple:




Voici comment la mettre en place:

1)
Copiez SyntaxHighlighter.css et tous les fichiers .js dans le même répertoire que votre page.


2)
Inclure la feuillle de style fournie dans le head de votre page:
<link type="text/css" rel="stylesheet" href="SyntaxHighlighter.css">



3)
Ajouter le code Javascript suivant à la fin de votre page:
<script language="JavaScript" src="shCore.js" type="text/javascript"></script>
<script language="JavaScript" src="shBrushPython.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">dp.SyntaxHighlighter.HighlightAll('code');</script>


(Là on a inclus le Javascript pour le langage Python. A vous d'inclure celui du langage qui vous intéresse parmi ceux disponibles.)


4)
Placez votre code à colorer dans un <textarea>.
Par exemple:
<textarea name="code" class="python">
class client:

    def __init__(self,number,name):
        self.number = number  # Client number
        self.name = name      # Full client name
        
    def __repr__(self):
        return '<client id="%s" name="%s">' % (self.number, self.name)        
</textarea>


name="code" sert à indiquer que ce bloc de code devra être coloré.
class="Python" indique quel langage utiliser.



Vous avez la possibilité d'utiliser des options, telles que:

nogutter : ne pas afficher les numéros de ligne.
nocontrols: retirer la barre "view plain | print | copy to clipborard"
collapse: masquer le code (cliquer pour afficher le code)
firstline[n]: indique le numéro de la première ligne (permet de changer la numérotation, pratique pour des extraits de sources)


Les options s'ajoutent à la class, par exemple:
<textarea name="code" class="python:nogutter:nocontrols">

Vous pouvez facilement customiser les couleurs de la coloration en modifiant la feuille de style SyntaxHighlighter.css


Une autre alternative, si votre site est en PHP, est d'utiliser l'excellentissime GesHI, aussi très simple et efficace http://qbnz.com/highlighter/. Il possède, par défaut, plusieurs dizaines de langages et est extensible presqu'à l'infini.

Voir aussi

Lire la suite

[Webmaster] Afficher des PNG transparents dans IE 5.5 et IE 6 »
Publié par sebsauvage - Dernière mise à jour le 29 octobre 2009 à 14:16 par Jeff




Sujet 4641 - [Webmaster] Afficher des PNG transparents dans IE 5.5 et IE 6

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]


Le problème


Les PNG transparents permettent de faire de très beaux effets sur les pages web.
Tous les navigateurs le supportent (Firefox, Opera, Konqueror, Safari, Camino...)... sauf Internet Explorer 5.5 et 6 !
(Internet Explorer 7, lui, supporte correctement les PNG transparents).

C'est donc particulièrement pénible, puisque cela vous oblige:

La solution


Voici un bout de Javascript (2 ko) qui permet à IE 5.5 et IE 6 de gérer correctement les PNG transparents.
(Oui oui, vous avez bien lu.)

Le gros du travail consiste à mettre ce bout de Javascript sur votre site: pngfis.js

puis à ajouter dans vos pages:
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->


C'est tout !

Attention: Il est nécessaire d'indiquer la taille des PNG transparents (width et height) dans chaque balise <img>.

Ceci ne causera pas la moindre perturbation dans les autres navigateurs et ne cassera pas la validation W3C. Seuls IE 5.5 et IE 6 utiliseront ce bout de code automatiquement.

Note: Il n'y a aucune solution pour les version de IE antérieures à la 5.5.

Comment ça marche ?


Le bout de javascript n'est exécuté que par IE 5.5 et IE 6.
Il fait appel à DirectX pour charger et afficher les PNG.

Lire la suite

Javascript - Librairies d'effets pour vos images »
Publié par sebsauvage - Dernière mise à jour le 20 novembre 2009 à 14:01 par marlalapocket




Sujet 9314 - Javascript - Librairies d'effets pour vos images

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Au gré de vos explorations du web, vous avez vu de superbes effets de présentation des images.
Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs.

Voici quelques solutions en Javascript couplées à des CSS.

Tout ça est en anglais.

Lightbox


huddletogether.com
Vous l'avez certainement déjà rencontrée.

Slimbox


digitalia.be
Un clone de Lightbox.

GreyBox


orangoo.com
Place une barre d'utilisation en haut de la page.

ThickBox


jquery.com
Permet aussi d'afficher des éléments cachés de la page, d'autres pages…

LightWindow


stickmanlabs.com
Permet d'afficher aussi des vidéos, des pdf…

Lire la suite

Javascript - Centrer verticalement une page web »
Publié par Gihef - Dernière mise à jour le 20 novembre 2009 à 18:26 par Jeff




Sujet 9867 - Javascript - Centrer verticalement une page web

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Pour centrer verticalement une page web, impossible de s'en sortir en css. Une solution bien pratique : JavaScript.





Merci à Dalida pour la source du fichier .js.

1. Le fichier .js


Copiez/collez ce script dans un fichier que vous nommerez par exemple : centrer.js

function align()
{

	var lmt = document.getElementById('centrage');
	var container = document.documentElement;

	if(lmt && container)
	{
	    var containerHeight;
	    if (container.innerWidth)
	    {
            containerHeight = container.innerHeight;
		}
		else
		{
            containerHeight = container.clientHeight;
		}
	    var lmtHeight;
	    if (lmt.innerWidth)
	    {
            lmtHeight = lmt.innerHeight;
		}
		else
		{
            lmtHeight = lmt.offsetHeight;
		}
		var y = Math.ceil((containerHeight - lmtHeight) / 2);
		if(y < 0)
		{
			y = 0;
		}
		lmt.style.position = "relative";
		lmt.style.top = y + "px";
	}
	if (document.getElementById)
	{
		document.body.style.visibility = 'visible';
	}

}

function addevent(obj,evt,fn,capt){
	if(obj.addEventListener)
	{
		obj.addEventListener(evt, fn, capt);
		return true;
	}
	else if(obj.attachEvent)
	{
		obj.attachEvent('on'+evt, fn);
		return true;
	}
	else return false;
}

if (document.getElementById && document.getElementsByTagName)
{
	addevent(window, 'load', align, false);
	addevent(window, 'resize', align, false);
}

2. La page .html


Pour que votre page soit centrée, il faut appeler le fichier .js.
La page se présentera ainsi :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	<head>
		<!-- [...] -->
		<script type="text/javascript" src="centrer.js"></script>
	</head>
	<body>
		<div id="centrage">

		<!-- Mettez le code de votre page ici. Celui ci sera centré -->
		
		</div>
	</body>
</html>

3. Utilisation


La fonction javascript align() définie dans le .js va récupérer le contenu qui doit être centré. Dans cet exemple, c'est l'élément portant l'identifiant [id="centrage"] qui sera centré.
var lmt = document.getElementById('centrage');
Ainsi, dans l'exemple de page .html, c'est le contenu situé dans l'élément <div id="centrage"></div> qui sera centré.

4. Inconvénients


Bien évidemment, il s'agit d'un "bidouillage". Celui ci ne sera efficace qu'à la condition que l'utilisateur ait javascript activé dans son navigateur.

5. Rappel


Comme pour toute utilisation de javascript, il ne s'agit que d'un embellissement. Des solutions alternatives devraient toujours être proposées (malheureusement, certains semblent l'oublier !) au cas où l'internaute n'active pas le support de ce langage.

Dans le cas présent, ce n'est pas possible. Mais son utilisation n'empêche en rien la navigation si le support est désactivé. Encore une fois, ce n'est qu'un embellissement.

Lire la suite

Librairies Javascript (Prototype/Scriptaculous/Yahoo UI, etc.) »
Publié par gryzzly - Dernière mise à jour le 20 novembre 2009 à 18:26 par Jeff




Sujet 10424 - Librairies Javascript (Prototype/Scriptaculous/Yahoo UI, etc.)

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Pourquoi réinventer la roue alors qu'il existe une multitude de librairies offrant des fonctionnalités avancées ?

Néanmoins, devant la multitude de librairies, il vaut mieux savoir en quelques lignes quelles sont leurs fonctionnalités, leurs atouts et leur points faibles :



Dojo Toolkit



DoJo Toolkit est une librairie JavaScript très complète, gérant AJAX, événements JavaScript, animations, JSON, etc. :

Jquery



JQuery est une librairie JavaScript compacte possédant en outre l’avantage d’être très largement documentée et d'être relativement simple à utiliser :

MooTools



Moo.Tools est une alternative à Prototype basé sur un développement entièrement basé sur la programmation objet. Notons que ses fonctionnalités AJAX intègrent nativement le support JSON :

Prototype.js




Prototype est un framework, c’est-à-dire un ensemble de fonctionnalités permettant de simplifier la vie du développeur JavaScript. Il possède de nombreuses fonctions permettant de faire des appels AJAX en une seule ligne de code ou encore la possibilité de faire appel à n’importe quel élément de la page en utilisant la notation $('id_de_l_element'), pour peu que l’élément HTML ait un attribut « id » unique. Il s’agit d’une librairie sur laquelle reposent beaucoup des autres librairies JavaScript :

Rico



Rico est une librairie représentant une sorte d’alternative au couple Prototype + Scriptaculous puisqu’elle possède des fonctions Ajax, ainsi que des fonctionnalités telles que le glisser-déposer :

Script.aculo.us




Scriptaculous est une librairie permettant de faire des effets visuels spectaculaires sur sa page web. S’appuyant sur la librairie prototype, cette librairie est probablement une des plus utilisées sur Internet :

Yahoo! UI Library



Il s’agit de la librairie JavaScript utilisée par Yahoo et mise à disposition de la communauté sous une licence Open Source. Cette librairie permet de faire des interfaces aussi riches et interactives que celles existant sur la myriade de sites du géant américain Yahoo!

Lire la suite

Javascript - Connaître la hauteur d'un élément HTML »
Publié par Jeff - Dernière mise à jour le 16 novembre 2009 à 13:03 par marlalapocket




Sujet 11739 - Javascript - Connaître la hauteur d'un élément HTML

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Si vous souhaitez connaître la hauteur (height) d'un bloc HTML en javascript, il existe deux façons selon les navigateurs :


Ainsi, le code suivant permet d'obtenir la hauteur d'un bloc HTML quel que soit le navigateur :

<script type="text/javascript">
<!--
var divHeight;
var obj = document.getElementById('id_element');

if(obj.offsetHeight)          {divHeight=obj.offsetHeight;}
else if(obj.style.pixelHeight){divHeight=obj.style.pixelHeight;}
//-->
</script>

Lire la suite

Modifier la hauteur (height) d'un élément HTML »
Publié par Jeff - Dernière mise à jour le 20 novembre 2009 à 18:25 par Jeff




Sujet 11740 - Modifier la hauteur (height) d'un élément HTML

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Pour modifier la hauteur d'un élément HTML en javascript, il suffit d'utiliser sa propriété de style "height".

Pour cela vous pouvez y faire référence de la manière suivante :


Si vous souhaitez connaître la hauteur (height) d'un bloc HTML, il existe deux façons selon les navigateurs :


Ainsi, le code suivant permet d'obtenir la hauteur d'un bloc HTML quel que soit le navigateur :
var height = document.getElementById('id_element').style.height;

Notez que si vous voulez modifier cette propriété, il faut spécifier "px".
Ainsi, le code suivant permet d'obtenir la hauteur d'un bloc HTML selon le navigateur :

<script type="text/javascript">
<!--
var obj = document.getElementById('id_element');
obj.style.height = "502px";
//-->
</script>


Si vous récupérez dynamiquement la valeur de la hauteur, vous devez donc concaténer "px" à cette valeur :
<script type="text/javascript">
<!--
var obj = document.getElementById('id_element');
obj.style.height = height+"px";
//-->
</script>

Lire la suite

Javascript - Afficher un message d'au-revoir aux visiteurs »
Publié par Jeff - Dernière mise à jour le 28 avril 2010 à 20:00 par @ntoine




Sujet 16072 - Javascript - Afficher un message d'au-revoir aux visiteurs

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Il est parfois très plaisant d'afficher un message en remerciant les visiteurs de votre site de leur passage. Cette astuce a pour but de vous montrer comment s'y prendre.


La fonction JavaScript


Copier/Coller ce code entre les balises <head></head> de votre page html

<script language="javascript">  
function bye()  
{  
      // Vous pouvez modifier le texte   
      alert ("Merci de votre visite sur mon site et à bientôt !");  
}  
</script>  

Appel du Script


Pour faire appel à cette fonction, il vous suffit d'ajouter l'événement onUnload dans la balise <body>

<body onUnload="bye();">


NB:Ceci est à effectuer sur toutes les pages de votre site.
NB2:Beaucoup d'utilisateurs n'apprécient plus/pas ces "intrusions" dignes du web des années 1990, à utiliser avec modération donc (imaginez un site d'actualités avec un tel message ... et sa "pop-up d'au-revoir" 10 fois, 100 fois par jour).
Publié par bissdebrazza - Dernière mise à jour le 14 février 2011 à 06:22 par boule97
Ce document intitulé «  Javascript - Afficher un message d'au-revoir aux visiteurs » issu de Comment Ça Marche Informatique (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.




Sujet 16294 - Javascript - trim()

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

La fonction trim() de PHP (et d'autres langages) permet de supprimer les espaces en début et fin de chaîne. Il n'existe pas de telle fonction en Javascript mais le code suivant permet de la remplacer :

Function trim (myString)
{
return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
} 



Merci à tlep sur le forum pour cette astuce !

Lire la suite

Javascript - split() »
Publié par Jeff - Dernière mise à jour le 20 novembre 2009 à 18:26 par Jeff




Sujet 16305 - Javascript - split()

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

La fonction split() permet de scinder une chaîne de caractère et de retourner les résultats dans un tableau, grâce à une chaîne définie comme séparateur.

Dans l'exemple ci-dessous, la fonction split() permet de découper la date selon le caractère '/' :

var uneDate = '24/02/2009';
var elem = uneDate.split('/');
jour = elem[0];
mois = elem[1];
annee = elem[2];



Merco à Bobinours pour cet exemple !

Lire la suite

Javascript - Concaténation de chaînes de caractères »
Publié par Jeff - Dernière mise à jour le 20 novembre 2009 à 18:27 par Jeff




Sujet 16306 - Javascript - Concaténation de chaînes de caractères

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Le terme "concaténer" signifie joindre deux chaînes bout à bout pour n'en former qu'une seule.

Dans la plupart des langages tels que PHP, la concaténation se fait avec le caractère ".". En javascript, il suffit d'utiliser le caractère plus (+) ou d'utiliser la méthode concat().

Dans les deux exemples ci-dessous, la variable chaîne 3 contient la chaîne "Bonjour tout le monde" :

var chaine1 = "Bonjour ";
var chaine2 = "tout le monde";
var chaine3 = chaine1+chaine2;


L'exemple ci-dessus est équivalent à l'exemple suivant :

var chaine1 = "Bonjour ";
var chaine2 = "tout le monde";
var chaine3 = chaine1.concat(chaine2);

Lire la suite

Javascript - Echapper une apostrophe »
Publié par Jeff - Dernière mise à jour le 20 novembre 2009 à 18:27 par Jeff




Sujet 16308 - Javascript - Echapper une apostrophe

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

En Javascript, une apostrophe (simple quote) dans une chaîne elle-même délimitée par des apostrophes cause une erreur. Pour y remédier il faut échapper l'apostrophe, c'est-à-dire la précéder du caractère antislash pour faire comprendre à l'interpréteur Javascript qu'il s'agit d'une apostrophe à l'intérieur de la chaîne.

Toutefois, lorsque la chaîne de caractère est insérée dynamiquement, il est nécessaire d'échapper tous les caractères pouvant poser problème (apostrophe, guillemet ou double quote, antislash).

PHP possède une fonction très utile, nommé addslashes() permettant d'automatiser l'échappement des caractères spéciaux. La fonction ci-dessous constitue une excellente alternative pour Javascript :


function addslashes(ch) {
ch = ch.replace(/\\/g,"\\\\")
ch = ch.replace(/\'/g,"\\'")
ch = ch.replace(/\"/g,"\\\"")
return ch
}



Merci à Thibault sur le forum pour cette fonction !

Lire la suite

Javascript - Manipulation des contrôles clavier »
Publié par Jeff - Dernière mise à jour le 20 novembre 2009 à 18:27 par Jeff




Sujet 18760 - Javascript - Manipulation des contrôles clavier

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]


Manipulation des contrôles clavier


Cette astuce a pour but de vous faire découvrir la (ou du moins une) manière de contrôler les évènements clavier en javascript.
Cela vous permettra de contrôler/attribuer les/des comportements particuliers à certaines touches du clavier.



Techniques pré-requises


Avant toute chose, les domaines suivants doivent vous être familiers:

Evènements du clavier


Voici la liste des évènements possible d'un clavier en javascript.

Pour de plus amples renseignements sur les évènements et leur gestion, vous pouvez consulter la rubrique javascript event

Il faut bien noter la différence entre, d'une part 'onkeypress', et d'autre part 'onkeydown' et 'onkeyup' ! 'onkeypress' sera appelée deux fois lorsque vous appuierez sur une touche : lorsque la touche est pressée, puis revelée. Donc si vous attribuez un comportement / traitement à cet évènement, prenez en compte qu'il sera effectué deux fois lorsque vous aurez appuyé sur votre touche. (A moins que vous contrôliez l'état de la touche (up ou down) directement dans le code javascript)

Attention cependant, tous les objets HTML ne comprennent pas ces fonctions de type écouteur, pour cela, renseignés vous sur le net avant de vous plonger dans votre code. (La liste est également fournie dans la rubrique javascript event

L'objet 'event' Javascript


Une fois un écouteur placé, il vous reste à définir le ou les traitements attribué(s) à l'évènement. La plupart du temps, vous souhaiterez pouvoir contrôler la source de l'évènement car, certes, avec l'évènement vous savez qu'il s'agit d'un évènement clavier, mais en aucun cas quelle touche exactement a été activée.

L'objet 'event' en Javascript est là pour ça. Il s'agit d'un objet qui regroupe les principales informations du clavier et de la souris. Vous pouvez facilement obtenir la description de cet objet sur internet, via google et les mots clés suivants : 'javascript objet event'.

Pour ce qui est des contrôles clavier, nous nous intéresserons plus particulièrement aux trois propriétés suivantes :

En Javascript, l'objet 'event' n'est pas implémenté de la même manière d'un navigateur à un autre. Il est donc important de pouvoir distinguer les différents cas possibles, et récupérer de manière "universelle" cet objet.

Propriété keyCode et liste des valeurs


Cette propriété permet de récupérer la valeur entière de la touche activée. Il s'agit donc d'un chiffre.
Voici la liste des valeurs des touches les plus courantes :

KEY_DOWN	= 40;
KEY_UP		= 38;
KEY_LEFT	= 37;
KEY_RIGHT	= 39;

KEY_END		= 35;
KEY_BEGIN	= 36;

KEY_BACK_TAB 	= 8;
KEY_TAB				= 9;
KEY_SH_TAB  	= 16;
KEY_ENTER			= 13;
KEY_ESC				= 27;
KEY_SPACE			= 32;
KEY_DEL				= 46;

KEY_A		= 65;
KEY_B		= 66;
KEY_C		= 67;
KEY_D		= 68;
KEY_E		= 69;
KEY_F		= 70;
KEY_G		= 71;
KEY_H		= 72;
KEY_I		= 73;
KEY_J		= 74;
KEY_K		= 75;
KEY_L		= 76;
KEY_M		= 77;
KEY_N		= 78;
KEY_O		= 79;
KEY_P		= 80;
KEY_Q		= 81;
KEY_R		= 82;
KEY_S		= 83;
KEY_T		= 84;
KEY_U		= 85;
KEY_V		= 86;
KEY_W		= 87;
KEY_X		= 88;
KEY_Y		= 89;
KEY_Z		= 90;

KEY_PF1		= 112;
KEY_PF2		= 113;
KEY_PF3		= 114;
KEY_PF4		= 115;
KEY_PF5		= 116;
KEY_PF6		= 117;
KEY_PF7		= 118;
KEY_PF8		= 119;

Propriétés 'altKey' et 'ctrlKey'


Ces deux propriétés sont des booléens, qui signalerons si les touches 'ALT' ou 'CTRL' sont actives ou non.

Exemple : écouter les flèches directionnelles sur une page


Voici un exemple complet sur l'implémentation d'une écoute de clavier sur une page web.

Page web


Voici le code d'une page web volontairement simple.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" 	SRC="keyboard.js"></SCRIPT>
</HEAD>

<BODY>

<script language="javascript">
document.onkeydown = applyKey;
</script>

</BODY>
</HTML>


Le fichier de script 'keyboard.js' inclut dans la page sera détaillé au paragraphe suivant.
Ici nous nous intéresserons plus à la partie en gras. Elle permet d'appliquer la fonction javascript 'applyKey' (définie dans le fichier de script) à l'évènement 'onkeydown', lui même appliquer sur l'objet 'document', ce qui signifie la page courante entière.

Les fonctions Javascript


Voici, fonction par fonction, le code du fichier 'keyboard.js'. Le contenu intégral est donné plus bas dans la section Annexes.

Fonction applyKey


function applyKey (_event_){
	
	// --- Retrieve event object from current web explorer
	var winObj = checkEventObj(_event_);
	
	var intKeyCode = winObj.keyCode;
	var intAltKey = winObj.altKey;
	var intCtrlKey = winObj.ctrlKey;
		
	// 1° --- Access with [ALT/CTRL+Key]
	if (intAltKey || intCtrlKey) {
		
		if ( intKeyCode == KEY_RIGHT || intKeyCode == KEY_LEFT ){
			
			// --- Display Message
			alert("Hello with ALT/CTRL !");
			
			// 3° --- Map the keyCode in another keyCode not used
			winObj.keyCode = intKeyCode = REMAP_KEY_T;
			winObj.returnValue = false;
			return false;
		}
		
	}
	// 2 ° --- Access without [ALT/CTRL+Key]
	else {
		
		if ( intKeyCode == KEY_RIGHT || intKeyCode == KEY_LEFT ){
			
			// --- Display Message
			alert("Hello !");
			
			// 3° --- Map the keyCode in another keyCode not used
			winObj.keyCode = intKeyCode = REMAP_KEY_T;
			winObj.returnValue = false;
			return false;
		}
		
	}
	
}


Il s'agit de la fonction la plus complexe. Décortiquons la pas à pas.
Pour cela, nous invoquons la fonction 'checkEventObj' dont le code est donné plus bas.

Fonction checkEventObj


Cette fonction, selon le type de navigateur, retourne l'objet 'event' approprié.

function checkEventObj ( _event_ ){
	// --- IE explorer
	if ( window.event )
		return window.event;
	// --- Netscape and other explorers
	else
		return _event_;
}

Annexes


Code complet fichier 'keyboard.js' :

KEY_DOWN	= 40;
KEY_UP		= 38;
KEY_LEFT	= 37;
KEY_RIGHT	= 39;

KEY_END		= 35;
KEY_BEGIN	= 36;



KEY_BACK_TAB 	= 8;
KEY_TAB				= 9;
KEY_SH_TAB  	= 16;
KEY_ENTER			= 13;
KEY_ESC				= 27;
KEY_SPACE			= 32;
KEY_DEL				= 46;

KEY_A		= 65;
KEY_B		= 66;
KEY_C		= 67;
KEY_D		= 68;
KEY_E		= 69;
KEY_F		= 70;
KEY_G		= 71;
KEY_H		= 72;
KEY_I		= 73;
KEY_J		= 74;
KEY_K		= 75;
KEY_L		= 76;
KEY_M		= 77;
KEY_N		= 78;
KEY_O		= 79;
KEY_P		= 80;
KEY_Q		= 81;
KEY_R		= 82;
KEY_S		= 83;
KEY_T		= 84;
KEY_U		= 85;
KEY_V		= 86;
KEY_W		= 87;
KEY_X		= 88;
KEY_Y		= 89;
KEY_Z		= 90;

KEY_PF1		= 112;
KEY_PF2		= 113;
KEY_PF3		= 114;
KEY_PF4		= 115;
KEY_PF5		= 116;
KEY_PF6		= 117;
KEY_PF7		= 118;
KEY_PF8		= 119;

REMAP_KEY_T	= 5019;
	
function checkEventObj ( _event_ ){
	// --- IE explorer
	if ( window.event )
		return window.event;
	// --- Netscape and other explorers
	else
		return _event_;
}
	
function applyKey (_event_){
	
	// --- Retrieve event object from current web explorer
	var winObj = checkEventObj(_event_);
	
	var intKeyCode = winObj.keyCode;
	var intAltKey = winObj.altKey;
	var intCtrlKey = winObj.ctrlKey;
		
	// --- Access with [ALT/CTRL+Key]
	if (intAltKey || intCtrlKey) {
		
		if ( intKeyCode == KEY_RIGHT || intKeyCode == KEY_LEFT ){
			
			// --- Display Message
			alert("Hello with ALT/CTRL !");
			
			// --- Map the keyCode in another keyCode not used
			winObj.keyCode = intKeyCode = REMAP_KEY_T;
			winObj.returnValue = false;
			return false;
		}
		
	}
	// --- Access without [ALT/CTRL+Key]
	else {
		
		if ( intKeyCode == KEY_RIGHT || intKeyCode == KEY_LEFT ){
			
			// --- Display Message
			alert("Hello !");
			
			// --- Map the keyCode in another keyCode not used
			winObj.keyCode = intKeyCode = REMAP_KEY_T;
			winObj.returnValue = false;
			return false;
		}
		
	}
	
}

Lire la suite

Javascript - Créer une popup »
Publié par kij_82 - Dernière mise à jour le 20 novembre 2009 à 18:27 par Jeff




Sujet 20798 - Javascript - Créer une popup

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]


Problème


Comment créer une fenêtre pop-up qui s'ouvre à l'ouverture d'une page ?

Solution


Il suffit d'utiliser le code suivant :

<SCRIPT LANGUAGE="JavaScript"> 
window.open("TON SITE"); 
</SCRIPT> 




Notez que les pop-ups seront généralement bloquées par les navigateurs web et que cette pratique énerve les internautes.

Merci à markk sur le forum pour cette astuce.

A voir également

Publié par Jeff - Dernière mise à jour le 14 février 2011 à 06:20 par boule97
Ce document intitulé « Javascript - Créer une popup » issu de Comment Ça Marche Informatique (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.




Sujet 25218 - Menu sous forme de liste déroulante

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Voilà un script vous permettant de faire un menu sous forme de liste déroulante.
Lorsque l'internaute choisira un élément dans cette liste, il sera redirigé à l'adresse correspondante.
Exemple de liste déroulante


À mettre dans l'entête de votre page (entre <head> et </head>) :
<script type="text/javascript"> 
window.onload = function() { 
 formulaire = document.getElementById('form_url'); 
  
 formulaire.onsubmit = function() { 
  if(this.elements[0].value != "") { 
   document.location.href = this.elements[0].value; 
  } 
 }; 
  
 formulaire.elements[0].onchange = function() { 
  if(this.value != "") { 
   document.location.href = this.value; 
  } 
 }; 
}; 
</script>

Le script suivant est à mettre dans votre contenu, là où vous souhaitez voir la liste (ce script est déjà complété par quelques exemples) :
<form action="redirection.php" methode="post" id="form_url"> 
 <p> 
  <label for="url">Menu :</label> 
  <select name="url" id="url"> 
   <option value="">Choisissez :</option> 
   <option value="index.html">Accueil</option> 
   <option value="news.html">Les news</option> 
   <option value="contact.html">Nous contacter</option> 
  </select> 
  <input type="submit" value="Ok" /> 
 </p> 
</form>
Ce script est très simple à adapter, et vous devriez vite comprendre le principe.

Afin de ne pas désavantager ceux qui n'ont pas activer Javascript (bien qu'ils soient rares), vous pouvez créer une page nommée "redirection.php" contenant ceci :
<?php 
header('Location: '.urldecode($_GET['url']); 
?>

Lire la suite

Javascript - Changer un "bonjour" en "bonsoir" et inversement »
Publié par avion-f16 - Dernière mise à jour le 28 avril 2010 à 19:51 par @ntoine




Sujet 27801 - Javascript - Changer un "bonjour" en "bonsoir" et inversement

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]


Introduction


Tout comme avec PHP, Javascript permet de changer un "bonjour" en "bonsoir" suivant l'horloge de l'utilisateur. Contrairement au script PHP, l'avantage de cette fonction en Javascript est qu'elle suit l'horloge de l'utilisateur et non celle du serveur (en croisant les doigts pour que tous les utilisateurs soient à l'heure).

Script


Insérez ce bout de code dans votre source HTML :

     
<body> 
[...] 
<span id="bonjour">Bonjour</span> 
[...] 

<script type="text/javascript"> 
today=new Date() 
if(today.getHours() >= 0 && today.getHours() < 18) /* A noter que si on mettait <= Bonjour continuerait jusqu'à 18h59 et qu'ici il s'arrête à 18h */ 
{      
document.getElementById('bonjour').innerHTML='Bonjour'; 
} 
else 
{      
document.getElementById('bonjour').innerHTML='Bonsoir'; 
} 
</script> 

[...] 
</body> 


Tout comme PHP, ce bout de code n'affichera que le premier mot c'est-à-dire ici, "Bonjour".

Note


A savoir que ce script fonctionne en fonction de l'horloge de l'internaute. Si l'internaute n'est pas à l'heure, il verra un "bonjour" en pleine nuit ou un "bonsoir" en plein jour.

Lire la suite

Faire un spoiler en Javascript, CSS et Xhtml »
Publié par le petit marocain - Dernière mise à jour le 28 avril 2010 à 11:30 par Rikkunter




Sujet 30282 - Faire un spoiler en Javascript, CSS et Xhtml

[ Voir ce sujet en ligne ] - [ Catégorie: Webmestre - Javascript ]

Pour faire une sorte de spoiler qui vous permettra d'afficher et de cacher un div au clic, j'ai un petit script écrit par moi même que je souhaite partager.

Ici nous aurons deux div :

La première ou sera affiché notre texte par défaut avec un lien, qui au clic, affichera un second div.
Dans le second div, un lien qui vous permettra de cacher ce div.


Nous allons utiliser deux fonctions Javascript, du Css et du XHTML bien sûr.

D'abord notre premier div :

<div id="layer1">      
Plusieurs langages de développement Web existent : <a href="#" onclick="afficher()" id="layer3">Afficher les langages</a>      
</div>      


Maintenant créons le second div qui sera caché par défaut, et qui s'affichera au clic sur précédent

<div id="layer2">      
<ul>      
<li>XHTML</li>      
<li>CSS</li>      
<li>PHP</li>      
<li><a href="#" onclick="fermer()">Cacher</a></li>      
</ul>      


On passe maintenant au css :

#layer1 {      
visibility : visible;      
position : relative;      
}      

#layer2 {      
visibility : hidden;      
position : absolute;      
}      


Et le Javascript :

function afficher() {   
document.getElementById('layer2').style.visibility ='visible';document.getElementById('layer2').style.position ='relative';   
document.getElementById('layer3').style.visibility='hidden';   
}   
        
function fermer() {   
document.getElementById('layer2').style.visibility ='hidden';   
document.getElementById('layer2').style.position ='absolute';   
document.getElementById('layer3').style.visibility='visible';   
}   



J'espère que ça vous aidera :)
Publié par alex59fr - Dernière mise à jour le 24 novembre 2010 à 10:13 par alex59fr





© Tous droits réservés 2010 Jean-François Pillou