Это способ написания Java Script сценариев таким образом чтобы даже в случае некорректной работы браузера пользователи все равно смогли использовать сайт но на более низком уровне.
Чтобы быть ненавязчивым для польз-ля, сценарий должен быть таковым, что его удаление не должно препятствовать использованию сайта. Также сценарий должен избегать явных ошибок и проблем совместимости с различными браузерами и принимать в учет спец-е устр-ва такие как например мобиль.телефон. Также сценарий должен состоять из понятного четкого кода и содержать комментарии говорящие о том, что делает код. Кроме того ненавязчивый код Java Script требует правильного разделения скриптов и HTML. К счастью можно разделить ненавязчивость на три категории: сценарий должен быть ненавязчивым для пользователей, браузеров, и программистов.
Ненавязчивый JS в 1ую очередь разделяет структурe HTML док-та и скрипты чтобы сделать код чище и упростить обслуживание сценария. Он также предупреждает и предотвращает проблемы несовместимости браузеров и работает с чистым сематическим слоем HTML.
Разделение структуры и поведения JS
Осн правило: файл html не должен содержать никакого кода JS, весь этот код должен быть помещен во внешний файл.
Осн назначение JS сценариев заключается в том, чтобы повысить уровень удобства использования веб-страниц.
Важный момент состоит в том, что не требуется предлагать пользователям, неиспользующим сценарий, такие же функции, как и пользователям которые его используют.
Задача веб-разработчика состоит в том, чтобы гарантировать пользователям возможность использования осн возможностей сайта. Это просмотр содержимого сайта и навигация. Все ост свойства становятся необязательными.
Соответственно вначале нужно убедиться что все пользователи могут получить доступ к инф и лишь затем добавить сценарий, чтобы сделать интерфейс более привлекательным и удобным.
Совместимость браузеров
Использование ненавящивого JS также означает создание сценариев или скриптов, которые будут корректно работать в максимально возможном числе браузеров. Если сценарий не работает он не должен создавать сообщений об ошибках.
Ненавящивый JS в первую очередь разделяет структуру HTML-документа и скриптов чтобы сделать код более чище и упростить обслуживание сценария. Он так же предупреждает и предотвращает проблемы несовместимости браузеров и работает с чистым семантическим условием HTML.