2010-07-31 22 views
0

Je le prototype suivant le code JavaScriptOù devrais-je mettre une routine Javascript nécessaire seulement sur une page?

Event.observe(window, 'load', function() { 
    Event.observe('agreement', 'click', function() { alert("It works") }); 
}); 

Il est utilisé sur une seule page de mon site, ce qui est la meilleure façon de l'organiser? Je suppose que je pourrais le mettre dans son propre fichier, et l'inclure seulement sur cette page. Ou je pourrais l'ajouter à un gros fichier qui est chargé pour l'ensemble du site, mais j'ai essayé de le faire, et j'ai eu une erreur car l'élément "accord" n'existe pas sur toutes les pages.

Répondre

2

Si vous déplacez dans son propre fichier référencé sur toutes les pages du site, pourquoi ne pas tester juste pour l'existence de l'élément #agreement avant d'ajouter le gestionnaire d'événements, cliquez sur:

Event.observe(window, 'load', function() { 
    if($('#agreement') != null){ 
     Event.observe('agreement', 'click', function() { alert("It works") }); 
    } 
}); 

Cela dit , si cela ne va jamais être utilisé sur cette page de votre site, je le laisserais comme javascript en ligne car c'est une demande de moins que le navigateur doit faire pour une ressource.

Mais (il y a toujours un mais) ce qui précède peut conduire à des projets qui sont difficiles à maintenir, puisque vous pouvez finir avec beaucoup de javascript en ligne saupoudré par votre balisage.