Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox



Etendre les fonctionnalites de javascript grace a prototype.js

Compatible JavaScript. Cliquer pour en savoir plus sur les compatibilités.Par simon-martins (Simon MARTINS), le 27 juillet 2008

Savez-vous qu'il est possible, très simplement, d'étendre les fonctionnalités de Javascript grâce à prototype ?

Problèmatique

Prototype.js est le framework le plus utilisé dans le monde du développement web.

Il reste le plus utilisé, mais sa communauté, il faut l'avouer, n'est pas vraiment à la hauteur face à celle d'autres framework tels que jQuery, qui propose un plugin repository permettant aux développeurs de contribuer.

Dans ce petit article, je vais vous montrer qu'il est tout à fait possible d'étendre les fonctionnalités de javascript, en se basant sur prototype.js.

Solution

Pour cet article, nous allons nous contenter d'un exemple très simple, pour vous montrer ce qu'il est possible de faire très facilement.

Nous souhaitons ajouter une méthode sayHello à tous les éléments du type HTMLElement qui permettra d'ajouter le texte “Hello world!” à l'intérieur de cet élément.

Notre code html de départ

<div id="foo"></div>

Le code javascript

$('foo').sayHello();

Notre code html après le passage de notre fonction sayHello()

<div id="foo">Hello world!</div>

Pour cela, il suffit d'étendre l'objet HTMLElement grâce à Object.extend, et d'y ajouter cette méthode, simple non ?

var myPlugin {
    sayHello: function(element) {
        element.update('Hello world!');
    }
});
 
Element.addMethods(myPlugin);

Conclusion

Finalement, on voit qu'il est tout à fait possible de créer des “plugins” avec prototype à la manière de jQuery.

La seule chose qui manque à prototype, c'est une partie “communautée” officielle, qui permettrait à chaque développeur de proposer ses propres extensions / plugins.

En savoir plus