Bonjour
Avant d'être repris par Adobe, Dreamweaver était développé par MacroMedia, qui s'était doté de tas de gadgets prétendument pour faciliter la création de sites. Le résultat c'est qu'on récupère des années après des trucs compliqués pour faire des choses simples, et quand il faut les modifier, ne serait-ce que pour que ça marche sur des tablettes, on se gratte la tête en se demandant par quel bout aborder le problème.
Je récupère en particulier des dizaines de pages contenant des appels à des fonctions "MM_" (MM pour MacroMedia) qui sont un peu ésotériques. Il s'agit de faire du remplacement d'images, choses qu'on fait très simplement aujourd'hui avec du CSS.
J'ai recherché sur Internet si ces fonctions étaient connues, la réponse est positive mais je n'ai pas trouvé une explication de texte.
Quelqu'un pourrait il m'aider à comprendre comment ça marche?
Voici le code en question, décompressé et indenté pour en faciliter (???) la lecture
Modifié par PapyJP (02 Sep 2015 - 16:47)
Avant d'être repris par Adobe, Dreamweaver était développé par MacroMedia, qui s'était doté de tas de gadgets prétendument pour faciliter la création de sites. Le résultat c'est qu'on récupère des années après des trucs compliqués pour faire des choses simples, et quand il faut les modifier, ne serait-ce que pour que ça marche sur des tablettes, on se gratte la tête en se demandant par quel bout aborder le problème.
Je récupère en particulier des dizaines de pages contenant des appels à des fonctions "MM_" (MM pour MacroMedia) qui sont un peu ésotériques. Il s'agit de faire du remplacement d'images, choses qu'on fait très simplement aujourd'hui avec du CSS.
J'ai recherché sur Internet si ces fonctions étaient connues, la réponse est positive mais je n'ai pas trouvé une explication de texte.
Quelqu'un pourrait il m'aider à comprendre comment ça marche?
Voici le code en question, décompressé et indenté pour en faciliter (???) la lecture
function MM_swapImgRestore() { //v3.0
var i, x, a = document.MM_sr;
for(i = 0; a && i < a.length && (x = a[ i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_preloadImages() { //v3.0
var d = document;
if(d.images){
if(!d.MM_p) d.MM_p = new Array();
var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
for(i = 0; i < a.length; i++)
if (a[ i].indexOf("#")! = 0){
d.MM_p[j] = new Image;
d.MM_p[j++].src = a[ i];
}
}
}
function MM_findObj(n, d) { //v4.0
var p, i, x;
if(!d) d = document;
if((p = n.indexOf("?"))>0 && parent.frames.length) {
d = parent.frames[n.substring(p+1)].document;
n = n.substring(0, p);
}
if(!(x = d[n]) && d.all) x = d.all[n];
for (i = 0; !x && i < d.forms.length; i++) x = d.forms[ i][n];
for(i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[ i].document);
if(!x && document.getElementById) x = document.getElementById(n);
return x;
}
function MM_swapImage() { //v3.0
var i, j = 0, x, a = MM_swapImage.arguments;
document.MM_sr = new Array;
for(i = 0; i < (a.length-2); i+= 3)
if ((x = MM_findObj(a[ i]))! = null){
document.MM_sr[j++] = x;
if(!x.oSrc) x.oSrc = x.src;
x.src = a[ i+2];
}
}
Modifié par PapyJP (02 Sep 2015 - 16:47)