Краткий ответ:
К сожалению, нет способа отключить многие из включенных JavaScripts SafeCracker.
Длинный ответ:
SafeCracker разработан как общийцель, насколько это возможно, и удовлетворить потребности самой большой аудитории.
С этим компромиссом SafeCracker объединяет в себе jQuery, jQuery UI Widgets, jQuery Tools и различные другие плагины и функции jQuery для облегчения проверки на стороне клиента и представления формынастраиваемые типы полей.
Как вы показали, вы можете отключить автоматический вывод jQuery с помощью SafeCracker - скажем, если вы хотите использовать более новую версию, чем та, которая доступна из панели управления EE -и можете ли вы отключить DatePicker, но, насколько мне известно, вы не можете предотвратить вывод остальных скриптов JavaScripts без взлома базовой библиотеки SafeCracker .
Понятно, яне большой поклонник этого "включить все и подход к мойке кухни" и ненавижу видеть постороннееи раздутые скрипты, добавляемые на страницу, особенно те, которые я никогда не использовал бы в первую очередь.
Тем не менее, очевидно, что конструктивное решение заключается в том, что SafeCracker был построен так, чтобы включать все скрипты Java, которые он выводит, так как нет 'т утвержденный способ их удаления.Таким образом, мы, по сути, застряли с ними в непредвиденном будущем.
Если вы сильно настроены по этому поводу, я бы посоветовал подать Запрос функций в EllisLab , чтобыбольше возможностей конфигурирования для неаккуратного способа SafeCracker выводить больше JavaScripts, чем то, что действительно необходимо.
Для любопытных возьмите пик вокруг строки 887 в следующем файле, чтобы увидеть, сколько виджетов jQuery UI UI виджетыв паре тегов SafeCracker.
/system/expressionengine/modules/safecracker/libraries/safecracker_lib.php
Примечание. Если вы хотите взять дело в свои руки, вы можете закомментировать некоторые элементы вмассив $js_defaults
и $ui
, который удалит JavaScripts из вывода.Однако при этом вы берете на себя всю ответственность и риск за работу SafeCracker.