web платформа - 2018 : rapid application development (RAD) начинающего web-разработчика!


Работа с JavaScript в web-Платформе


Представить современный сайт без JavaScript тяжело. А придать странице настоящую интерактивность без JS просто невозможно. Поэтому при разработке PHP-функций вы найдете наряду со средствами для PHP, также и вкладку для JavaScript. Это сделано для того, чтобы контент, порожденный PHP-функцией, мог быть обработан в браузере пользователя или стать интерактивным. Удобно, когда все, что связано с функцией, собрано в одном месте. В платформе применяется редактор ACE, что позволяет удобно работать с JS - есть и подсветка кода и контроль грубых синтаксических ошибок и даже всплывающие подсказки. Редактор работает без тормозов даже с огромными текстом. Текст JS хранится в БД в формате UTF-8 и не рекомендуется делать его больше 200кБ. JS код PHP-функции вставляется в конец BODY, что позволяет либо определить функции, вызываемые по мере необходимости, либо обеспечить его выполнения после загрузки контента. Если PHP-функций несколько, то вставка кода идет последовательно, по мере обработки PHP-переменных в HTML-коде страницы.

Далеко не всегда код JS удобно вставлять в тело страницы, тем более большой. В таких случаях JS должен содержаться в файлах, отдельно подгружаемых браузером.

При этом есть только одна проблема. Если код JS-файла меняется, то браузер может из кэша достать старый вариант. Нажимать ctrl-F5 каждого пользователя не заставишь и на странице что-то начинает работать не так. Система позволяет легко решить эту проблему. Большие JS-скрипты хранятся в БД и вставляются в страницу на место {JS= {ИмяФайла}} в виде тега скрипт, но источник указан так: 
src=getJS.php?name=ИмяФайла&md5=md5_Файла.

Т.е. скрипт кэшируется на стороне браузера в виде выдаваемого getJS.php файла, но с параметром md5(ТекстJSфайла). При последующей загрузке страницы, браузер достанет скрипт из своего кэша. Однако, при изменении скрипта md5_Файла будет иной и браузер загрузит и закеширует уже новый вариант. Это избавляет вас от головной боли при частом изменении JS-файла, а при разработке это происходит регулярно.

WEB-платформа для владеющих PHP
» инструмент ускоренной разработки <IMG>-вых сайтов!