Проблема: У меня есть тяжелая страница jQuery, которая имеет встроенный интерфейс администратора. Функции администратора запускаются только при установке переменной администратора. Эти функции требуют, чтобы вторая библиотека работала правильно, а второй файл включается только в том случае, если пользователь является администратором при первой странице. Эти функции никогда не будут запускаться для обычных пользователей, и обычные пользователи не получают включение для второй библиотеки.
Неправильно ли ссылаться на функцию, которая не существует в файлах, включенных в настоящее время, даже если эта функция никогда не может быть вызвана? (имеет ли это смысл:)
псевдокод:
header: (обратите внимание, что admin.js не включен)
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="user.js"></script>
script.js: (функции администратора указаны, но не могут быть выполнены)
admin = false; // Assume this
$(".something").dblclick(function(){
if(admin)
adminstuff(); // Implemented in admin.js (not included)
else
userstuff();
});
Идеи: Я полагаю, что можно использовать два отдельных файла для пользователей и админов, но я считаю, что это будет слишком сложное решение (не нужно поддерживать два больших файла с несколькими линиями разницы). Единственная причина, по которой я включаю ссылку на функцию администратора в этом файле, - это привязать ее к элементам страницы, которые обновляются как часть script. Когда jQuery обновляет страницу, мне нужно повторно привязать функцию к интерактивным элементам.
Вопрос: Я хочу, чтобы все было очень просто и не нужно включать файл, который мне не нужен, если он не будет использоваться пользователем. Это хороший способ сделать это, или я должен идти другим путем?