Куча мусора в head

Главные вкладки

Аватар пользователя Сергей Березин Сергей Березин 17 октября 2016 в 19:22

Заглянул в html страницы и обнаружил большую кучу кода в head. Раньше было меньше в несколько раз. Наверное это случилось от большого количества добавленных модулей.

Можно как-то избавиться или сократить этот код? Очень некрасиво смотрится:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"ru\/","ajaxPageState":{"theme":"bartik","theme_token":"e4lYkE9rmdrLuFQ1FR2Qxa79U_xTXmAH7AmFm2gSuz4","js":{"sites\/all\/modules\/clientside_validation\/clientside_validation.ie8.js":1,"sites\/all\/modules\/clientside_validation\/clientside_validation_html5\/clientside_validation_html5.js":1,"sites\/all\/modules\/clientside_validation\/clientside_validation.js":1,"misc\/jquery.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"misc\/jquery.cookie.js":1,"public:\/\/languages\/ru_RzvgzEXFIYLkXwOssXbWM9ZUSgunKhWv8fI6FuBCthA.js":1,"sites\/all\/modules\/messageclose\/js\/messageclose.js":1,"sites\/all\/modules\/friendly_register\/js\/friendly_register.js":1,"sites\/all\/modules\/clientside_validation\/jquery-validate\/jquery.validate.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"modules\/comment\/comment.css":1,"modules\/field\/theme\/field.css":1,"modules\/node\/node.css":1,"modules\/search\/search.css":1,"modules\/user\/user.css":1,"modules\/forum\/forum.css":1,"sites\/all\/modules\/views\/css\/views.css":1,"sites\/all\/modules\/ckeditor\/css\/ckeditor.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"sites\/all\/modules\/messageclose\/css\/messageclose.css":1,"sites\/all\/modules\/uif\/uif.css":1,"sites\/all\/modules\/friendly_register\/css\/friendly_register.css":1,"modules\/locale\/locale.css":1,"sites\/all\/modules\/formblock\/formblock.css":1,"themes\/bartik\/css\/layout.css":1,"themes\/bartik\/css\/style.css":1,"themes\/bartik\/css\/colors.css":1,"themes\/bartik\/css\/print.css":1,"themes\/bartik\/css\/ie.css":1,"themes\/bartik\/css\/ie6.css":1}},"urlIsAjaxTrusted":{"\/":true,"\/ru?destination=front_page":true},"clientsideValidation":{"forms":{"user-register-form":{"errorPlacement":"5","general":{"errorClass":"error","wrapper":"li","validateTabs":0,"scrollTo":1,"scrollSpeed":"1000","disableHtml5Validation":"1","validateOnBlur":"1","validateOnBlurAlways":"0","validateOnKeyUp":"1","validateBeforeAjax":"0","validateOnSubmit":"1","showMessages":"0","errorElement":"label"},"rules":{"name":{"required":true,"messages":{"required":"\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e","maxlength":"\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f field has to have maximum 60 values."},"maxlength":60},"mail":{"maxlength":254,"messages":{"maxlength":"\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u043e\u0447\u0442\u0430 field has to have maximum 254 values."}},"pass":{"required":true,"messages":{"required":"\u041f\u0440\u0438\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e","maxlength":"\u041f\u0440\u0438\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c field has to have maximum 128 values."},"maxlength":128},"metatags[und][title][value]":{"maxlength":1024,"messages":{"maxlength":"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b field has to have maximum 1024 values."}},"metatags[und][description][value]":{"maxlength":1024,"messages":{"maxlength":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 field has to have maximum 1024 values."}},"metatags[und][abstract][value]":{"maxlength":1024,"messages":{"maxlength":"Abstract field has to have maximum 1024 values."}},"metatags[und][keywords][value]":{"maxlength":1024,"messages":{"maxlength":"\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 field has to have maximum 1024 values."}},"metatags[und][news_keywords][value]":{"maxlength":1024,"messages":{"maxlength":"Google News Keywords field has to have maximum 1024 values."}},"metatags[und][standout][value]":{"maxlength":1024,"messages":{"maxlength":"Google Standout field has to have maximum 1024 values."}},"metatags[und][rights][value]":{"maxlength":1024,"messages":{"maxlength":"Rights field has to have maximum 1024 values."}},"metatags[und][image_src][value]":{"maxlength":1024,"messages":{"maxlength":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 field has to have maximum 1024 values."}},"metatags[und][canonical][value]":{"maxlength":1024,"messages":{"maxlength":"Canonical URL field has to have maximum 1024 values."}},"metatags[und][shortlink][value]":{"maxlength":1024,"messages":{"maxlength":"Shortlink URL field has to have maximum 1024 values."}},"metatags[und][publisher][value]":{"maxlength":1024,"messages":{"maxlength":"Publisher URL field has to have maximum 1024 values."}},"metatags[und][author][value]":{"maxlength":1024,"messages":{"maxlength":"Author URL field has to have maximum 1024 values."}},"metatags[und][original-source][value]":{"maxlength":1024,"messages":{"maxlength":"Original Source field has to have maximum 1024 values."}},"metatags[und][prev][value]":{"maxlength":1024,"messages":{"maxlength":"Previous page URL field has to have maximum 1024 values."}},"metatags[und][next][value]":{"maxlength":1024,"messages":{"maxlength":"Next page URL field has to have maximum 1024 values."}},"metatags[und][content-language][value]":{"maxlength":1024,"messages":{"maxlength":"Content language field has to have maximum 1024 values."}},"metatags[und][geo.position][value]":{"maxlength":1024,"messages":{"maxlength":"Geo position field has to have maximum 1024 values."}},"metatags[und][geo.placename][value]":{"maxlength":1024,"messages":{"maxlength":"Geo place name field has to have maximum 1024 values."}},"metatags[und][geo.region][value]":{"maxlength":1024,"messages":{"maxlength":"Geo region field has to have maximum 1024 values."}},"metatags[und][icbm][value]":{"maxlength":1024,"messages":{"maxlength":"ICBM field has to have maximum 1024 values."}},"metatags[und][refresh][value]":{"maxlength":1024,"messages":{"maxlength":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c field has to have maximum 1024 values."}},"metatags[und][revisit-after][value]":{"maxlength":4,"messages":{"maxlength":"Revisit After interval field has to have maximum 4 values."}},"metatags[und][pragma][value]":{"maxlength":1024,"messages":{"maxlength":"Pragma field has to have maximum 1024 values."}},"metatags[und][cache-control][value]":{"maxlength":1024,"messages":{"maxlength":"Cache-Control field has to have maximum 1024 values."}},"metatags[und][expires][value]":{"maxlength":1024,"messages":{"maxlength":"Expires field has to have maximum 1024 values."}}}},"user-login-form":{"errorPlacement":"5","general":{"errorClass":"error","wrapper":"li","validateTabs":0,"scrollTo":1,"scrollSpeed":"1000","disableHtml5Validation":"1","validateOnBlur":"1","validateOnBlurAlways":"0","validateOnKeyUp":"1","validateBeforeAjax":"0","validateOnSubmit":"1","showMessages":"0","errorElement":"label"},"rules":{"name":{"required":true,"messages":{"required":"\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e","maxlength":"\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f field has to have maximum 60 values."},"maxlength":60},"pass":{"required":true,"messages":{"required":"\u041f\u0430\u0440\u043e\u043b\u044c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e","maxlength":"\u041f\u0430\u0440\u043e\u043b\u044c field has to have maximum 128 values."},"maxlength":128}}}},"general":{"usexregxp":0,"months":{"\u044f\u043d\u0432\u0430\u0440\u044f":1,"\u044f\u043d\u0432":1,"\u0444\u0435\u0432\u0440\u0430\u043b\u044f":2,"\u0444\u0435\u0432":2,"\u043c\u0430\u0440\u0442\u0430":3,"\u043c\u0430\u0440":3,"\u0430\u043f\u0440\u0435\u043b\u044f":4,"\u0430\u043f\u0440":4,"\u043c\u0430\u044f":5,"\u0438\u044e\u043d\u044f":6,"\u0438\u044e\u043d":6,"\u0438\u044e\u043b\u044f":7,"\u0438\u044e\u043b":7,"\u0430\u0432\u0433\u0443\u0441\u0442\u0430":8,"\u0430\u0432\u0433":8,"\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f":9,"\u0441\u0435\u043d":9,"\u043e\u043a\u0442\u044f\u0431\u0440\u044f":10,"\u043e\u043a\u0442":10,"\u043d\u043e\u044f\u0431\u0440\u044f":11,"\u043d\u043e\u044f":11,"\u0434\u0435\u043a\u0430\u0431\u0440\u044f":12,"\u0434\u0435\u043a":12}},"groups":{"user-register-form":{},"user-login-form":{}}}});
//--><!]]>
</script>

Комментарии

Аватар пользователя Van&#039;Denis Van'Denis 17 октября 2016 в 21:40
1

Смотрите admin/reports/status на ошибки и обновления
далее:
admin/config/development/performance
Очистите кэш и
Включить:
External resources can be optimized automatically, which can reduce both the size and number of requests made to your website.
Aggregate and compress CSS files.
Aggregate JavaScript files.

З.Ы.
Возможно, что
Проблемы с AJAX
Какой-то модуль косячит. Отключать и смотреть результат.

Аватар пользователя Сергей Березин Сергей Березин 18 октября 2016 в 14:38

gun_dose wrote:

А что за клиентсайд валидэйшн? Нафиг он нужен? Тут почти весь код из него

Это аяксовая валидация полей форм.
Да, именно этот модуль создаёт такую кучу кода в шапке.
Но зачем? И как бы избавиться от него, если это возможно.

Аватар пользователя gun_dose gun_dose 19 октября 2016 в 9:39
1

Я понял, что этот модуль делает. Это хорошо видно по добавляемому им коду. Чтобы избавиться от этого кода, нужно просто отключить этот модуль. Я потому и спрашивал, нафиг он нужен, т.к. смысла в нём ноль. Все формы и так валидируются при отправке.

Аватар пользователя Сергей Березин Сергей Березин 19 октября 2016 в 15:49

gun_dose wrote:

Я понял, что этот модуль делает. Это хорошо видно по добавляемому им коду. Чтобы избавиться от этого кода, нужно просто отключить этот модуль. Я потому и спрашивал, нафиг он нужен, т.к. смысла в нём ноль. Все формы и так валидируются при отправке.

Он не ради забавы стоит. Без него нет аяксовой валидации. Нужна аяксовая валидация.

Аватар пользователя multpix multpix 19 октября 2016 в 17:10
1

Народ, это капец, а не подход к работе - он жеж просто подтягует либу https://jqueryvalidation.org/
никаких проверок на сервере.
просто проверяет поля по условиям и лочит сабмит)))

(я ее в рельсах когда-то использовал, дабы просто форму проверить перед отправкой
потом отказался, а поделка осталась - скорость ах ибо глубокий дев, файло на дропбокс, но на работу либы можете глянуть:
http://floristics.herokuapp.com i whant it -> new order c пустыми полями
)

Аватар пользователя multpix multpix 19 октября 2016 в 17:09
1

Studio VIZA wrote:

В смысле, за такие модули кастрировать надо?

Нет, Костян
это вполне имеющий право на жизнь модулек, и многим он полезен,
и либа вполне используемая)))

Но вот следущюее очень показательно, подход ТС убил наповал:

Сергей Березин wrote:

Это аяксовая валидация полей форм.

sergeybelya wrote:

Этот модуль не делает аяксовую валидацию, насколько я его помню.

Сергей Березин wrote:

Если бы не делал, то зачем бы я его использовал.

Делает!

Просто если берете сторонний код, то хотя-бы разберитесь,
что он на самом деле делает, как делает и зачем))))

На оф.стр модуля все написано - разработчик старался....
На оф.стр либы все написано...

Аватар пользователя Сергей Березин Сергей Березин 19 октября 2016 в 17:21

Господа, извините, вы разгорячились не по делу.
Модуль делает то что мне нужно.
Может я неверно назвал яву аяксом, но это не важно.
Главное - он делает то что нужно.
Но куча мусора в head - она не нужна для валидации 2-х полей: имени пользователя и пароля.

Аватар пользователя Сергей Березин Сергей Березин 19 октября 2016 в 19:15

sergeybelya wrote:
Добавьте им просто атрибут required

Он и так есть.
Нужно чтобы валидация моментально происходила, а нет так как есть дефолтная пиашпишная (после отправки формы на сервер).

И ещё этот модуль позволяет ошибки выводить отдельно и в нужных местах, например под полями input (по дефолту всё тупо выводится вверху ноды - это вообще негоже, не по человечески).

Друпал вообще очень плох в плане юзабилити, чего стоит одно слово front, когда почти везде используется понятное home.

Аватар пользователя multpix multpix 19 октября 2016 в 20:37
1

В том то и дело, что либа не правильность (валидность) значений проверяет, а их присутствие.
Просто - заполнены или нет, кол-во символов и п.т,
это мейл (телефон, etc.) или нет - по шаблону.
Это хорошо для отправки новых значений, но не используется при проверке существующих.

Аватар пользователя multpix multpix 19 октября 2016 в 21:44
2

Сергей Березин wrote:

Но куча мусора в head - она не нужна для валидации 2-х полей: имени пользователя и пароля.

Попробую еще раз объяснить,
если вы используете jqueryvalidation для проверки логина и пароля пользователя,
то:
Сергей Березин wrote:

Нужно чтобы валидация моментально происходила, а нет так как есть дефолтная пиашпишная (после отправки формы на сервер).

Именно после отправки на сервер и происходит проверка правильности ввода, и при успехе - вход.

Убедиться в этом можно следующим образом:
Допустим у вас есть admin с паролем 12345
а вы введите admom в поле логина,
после, вводя пароль, вы увидите, что поле логина валидно,
но имя введено не верно - и ошибку ввода, форма вам вернет только после отправки.
Т.е проверено на лету, что в поле присутствует значение - но какое - проверка на сервере после отправки.
Т.е. - проверенно что в поле "логин" есть строка, но верна ли она - не проверяется.
При регистрации нового пользователя не проверяется логин на уникальность.
Наглядно на скрине (верное имя пользователя- admin):
jquery validation

Тогда, спрашивается, зачем вообще такая проверка для логина?
Ибо, будет нерационально предполагать то, что пользователь не введет имя и пароль (при регистрации ли или при входе.)
Да и зачем жеж тогда кнопка отправки формы, если пара логин-пароль уже проверенна?

Если вы используете валидацию заполнения полей только для форм входа/регистрации, то можете просто это не делать, и, соответственно избавитесь от "некрасивого" js в теле ваших страниц.

Такие валидации формы полезны, когда, допустим, при оформлении заказа нужно проверить на лету - введен ли телефон, адрес, почта, но никак не для пароля и имени пользователя.
Не ищите, как понизить безопасность своих пользователей))

А если вы где-нибудь видели подобное поведение форм с логином/паролем, чтоб не быть голословным - приведите пример - опубликуйте ссылку на ресурс.

Аватар пользователя gun_dose gun_dose 21 октября 2016 в 10:54
1

Норм тема, написать скриптец валидации такой, что вводишь "Володя" а он тебе пишет "Правильно не Володя, а админ". Потом пароль вводишь, а он тебе "не 1234, а 123456" )))

Я так и не понял, как эта телега валидирует логин и пароль. Просто проверяет, чтобы окошки не пустые были? А зачем? У кого-то есть проблемы с осознанием обязательности этих полей? Это же полный бред. Я понимаю, проверять поле ввода телефона маскед инпутом, но тут полная бессмыслица. Да ещё и куча лишнего кода в шапке)))

Аватар пользователя Сергей Березин Сергей Березин 20 октября 2016 в 13:01

«и ошибку ввода, форма вам вернет только после отправки.»

Нет. Сразу будет ошибка. Без отправки формы.

Повторяю, данный модуль выполняет нужные функции. Всё работает как нужно. Проблема только в куче ненужного кода в head.

Аватар пользователя multpix multpix 20 октября 2016 в 13:13
1

Уважаемый, вы ошибаетесь,
посмотрите на приведенные мною скрины.

Ежели вы так уверенны в своей правоте - объясните:
1. почему на скрине №3 при неверном вводе имени пользователя admon - нет ошибки?
2. почему при регистрации нового пользователя с именем уже существующим - admin - нет ошибки?

Система выдаст ошибку только по отправке этих двух состояний форм.
В первом случае - неверное имяя пользователя,
во втором -не уникальное имя пользователя.

Если не сложно, приложите скрин, и укажите какие дополнительные модули или код используете,

Аватар пользователя Сергей Березин Сергей Березин 20 октября 2016 в 13:03

sergeybelya wrote:

Сергей Березин написал:

Он и так есть.

По дефолту нет. Не путайте с классом required


Если модуль отключить, то всё равно эти ошибки выдаст. Но после отправки формы.

Аватар пользователя Сергей Березин Сергей Березин 20 октября 2016 в 13:09

multpix wrote:

Уважаемый, вы ошибаетесь,

посмотрите на приведенные мною скрины.
Ежели вы так уверенны в своей правоте - объясните, почему на скрине №3 при неверном вводе имени пользователя admon - нет ошибки?

У меня не так, у меня сразу проверяется. У меня модуль стоит для проверки.

Аватар пользователя multpix multpix 20 октября 2016 в 13:15
1

Сергей Березин wrote:

У меня модуль стоит для проверки

Если контриб, то какой?
Ибо, работу либы, о которой мы говорим - я показал выше.
И тот код в теле стрю, который вас не удовлетворяет - она не генерирует)

Аватар пользователя Сергей Березин Сергей Березин 20 октября 2016 в 14:39

Фух. Много слов впустую.

У меня всё работает как нужно с данным модулем.
Без данного модуля всё плохо так как Друпал не клиент-ориентирован, плохое юзабилити.

Проблема только одна - куча ненужного кода в шапке.
Больше никаких проблем и вопросов нет Smile

Аватар пользователя multpix multpix 20 октября 2016 в 14:41
1

Сергей Березин wrote:

Проблема только одна - куча ненужного кода в шапке.

Тогда, у вас нет этой проблемы, и закрыли тему))

Аватар пользователя multpix multpix 20 октября 2016 в 15:44
1

Сергей Березин wrote:

Фух. Много слов впустую.

я всего-лишь просил от вас немного дополнительной информации, для помощи вам в решении вашего вопроса.
привел факт о работе jqueryvalidation.
но я увы не экстрасенс, на сим - откланиваюсь.

Аватар пользователя Сергей Березин Сергей Березин 21 октября 2016 в 16:02

sergeybelya wrote:

Уже отвечал выше по поводу атрибута required.

Так я и говорю, что они и так есть, по умолчанию.
Вот и не понимаю о чём ещё речь, о какой ещё другой браузерной валидации?

Аватар пользователя Сергей Березин Сергей Березин 21 октября 2016 в 16:09

gun_dose wrote:

Норм тема, написать скриптец валидации такой, что вводишь "Володя" а он тебе пишет "Правильно не Володя, а админ". Потом пароль вводишь, а он тебе "не 1234, а 123456" )))
Я так и не понял, как эта телега валидирует логин и пароль. Просто проверяет, чтобы окошки не пустые были? А зачем? У кого-то есть проблемы с осознанием обязательности этих полей? Это же полный бред. Я понимаю, проверять поле ввода телефона маскед инпутом, но тут полная бессмыслица. Да ещё и куча лишнего кода в шапке)))

Да, она проверяет чтобы поля не были пустыми. Знаю, что многие игнорируют эту опцию, но это уже философский вопрос уровня качества. С точки зрения юзабилити и перфекционизма пустые поля обязательно нужно валидировать.