Я бы просто положил его в файл .js.
mysite_common.js - сайт широко распространенные утилиты и функции
mysite_page_a.js - уникальная функциональность для пролистывать
mysite_page_b.js - уникальная функциональность для страницы б
для страницы б включаемых б .js, а на странице a вы должны указать a.js
Тогда в ваших соответствующих unique.js вы можете объединить свои функции в ondomready или аналогично.
Держите его отдельно от вашего PHP, тогда это гораздо меньше раздражает позже, это также означает, что вы можете полагаться на кеширование для js, чтобы ваша страница загружалась более тонкой.
Вы также можете посмотреть такие вещи, как загрузчик YUI, который позволяет вам выполнять гораздо более сложные вещи, такие как ondemand загрузка бит функциональности js.
Вы можете использовать делегирование делегаций для обеспечения различных функциональных возможностей в зависимости от контекста.
В основном это работает, присоединяя прослушиватель событий к элементу контейнера, который захватывает клики по дочерним элементам.Затем вы можете покончить с отдельными слушателями событий, а также посмотреть подсказки от родителя. сказать:
<div id='container' class='page_a'>
...
<input name='somename'>
...
</div>
Тогда
var attachDelegates = function(container){
container.onclick = function(e) {
e = e || window.event;
var t = e.target || e.srcElement;
//Your logic follows
if(t.name === 'somename'){
dosomething(t);
}
if(t.className === 'someclass'){
... something else ...
}
};
и onload = function(){attachDelegates('container');};
Функция attachDelegates может быть различным для каждой страницы, или вы могли бы иметь монолитную один и просто прикрепить подсказки к контейнеру или быть выборочно о том, какие классы вы присоединяете.
Это гораздо более когерентным объяснения и примеры:
http://cherny.com/webdev/70/javascript-event-delegation-and-event-hanlders
http://blog.andyhume.net/event-delegation-without-javascript-library
Лично я использую YUI3 http://developer.yahoo.com/yui/3/examples/node/node-evt-delegation.html
, поскольку это дает мне CSS3 селекторов стиля и довольно хлопот бесплатно до сих пор.
В общем, похоже, что у вас есть хорошие цели рефакторинга, если у вас слишком много функций для выполнения запросов ajax. Я имею тенденцию иметь 1 функцию многократного использования для генерации запросов ajax, которая принимает функцию для обратного вызова и объекта конфигурации для конкретных сообщений об ошибках, url и полезной нагрузке и т. Д. – unomi
@unomi: Да, конечно, я имел в виду, что я делаю разные AJAX призывает делать разные вещи. Все они вызываются с одинаковой функцией, но они запрашивают различный контент в зависимости от страницы. – nico
Downvoter, пожалуйста, не могли бы вы прокомментировать downvote? Прямо сейчас, похоже, что вы случайный тролль с нисходящим движением. – nico