Где я должен разместить подпрограмму JavaScript, необходимую только на одной странице? - PullRequest
0 голосов
/ 31 июля 2010

У меня есть следующий прототип кода JavaScript

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

Он используется только на одной странице моего сайта, как лучше организовать его?

Полагаю, я мог бы поместить его в отдельный файл и включить только на этой странице. Или я мог бы добавить его в один большой файл, который загружается для всего сайта, но я попытался это сделать и получил ошибку, поскольку элемент «соглашение» существует не на всех страницах.

1 Ответ

2 голосов
/ 31 июля 2010

Если вы переместите его в свой собственный файл, на который ссылаются все страницы сайта, почему бы просто не проверить наличие элемента #agreement перед добавлением обработчика события click:

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

Однако, если он будет использоваться только на одной странице вашего сайта, я бы оставил его как встроенный javascript, так как это на один запрос меньше, который браузер должен сделать для ресурса.

Но (всегда есть, но) вышеприведенное может привести к проектам, которые сложно поддерживать, поскольку в результате вы можете получить много встроенного JavaScript, разбросанного по разметке.

...