Méthode de substitution en cas de non-existence (substr)
Bonjour à tous,
Je cherche à sécuriser une vieille portion de code javascript dans laquelle est répétée de nombreuses fois la méthode substr(), dépréciée et qui pourrait donc (?) éventuellement disparaitre un jour de certains navigateurs (ce que je trouve absurde dans l'idée mais passons...).
L'idée est donc de rajouter une condition recréant la méthode si elle n'existe pas, dans le genre de celle-ci (qui censée faire le job juste pour les indices négatifs) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| if (!typeof(substr) == 'function') // mais est ce une fonction ?!
{
String.prototype.substr = (function (substr) {
return function (début, longueur) {
// Appel de la méthode originale
return substr.call(
this,
// Si on a un début négatif, calculer combien il vaut à partir du début de la chaîne
// Ajuster le paramètre pour une valeur négative
début < 0 ? this.length + début : début,
longueur,
);
};
})(String.prototype.substr);
} |
Quelqu'un saurait comment faire la fonction complète proprement ? (parce que je n'y connais pour ainsi dire rien dans ces subtilités) ?
Le bout de code vient de là : https://developer.mozilla.org.cach3..../String/substr
Un grand merci d'avance... je suis très étonné de ne pas avoir trouvé de réponse à cette question sur le net. Cela dit la question est peut être "erronée"...