Теги сценария по умолчанию скрыты с помощью display:none;
. Unor1 объясняет базовую спецификацию языка. Однако они по-прежнему являются частью модели DOM и могут быть оформлены соответствующим образом.
Тем не менее, важно помнить, что именно делает тег скрипта. Хотя раньше это сопровождалось типами и языками, это больше не требуется. Теперь предполагается, что там присутствует JavaScript, и в результате браузеры будут интерпретировать и выполнять скрипт по мере его обнаружения (или загрузки) из этих тегов.
После выполнения скрипта содержимое тега представляет собой только текст (часто скрытый) на странице. Этот текст можно показать, но его также можно удалить, потому что это просто текст.
Внизу вашей страницы, прямо перед закрывающим тегом </html>
, вы можете очень легко удалить эти теги вместе с их текстом, и на странице не будет никаких изменений.
Например:
(function(){
var scripts = document.querySelectorAll("script");
for(var i = 0; i < scripts.length; i++){
scripts[i].parentNode.removeChild(scripts[i]);
}
})()
Это не приведет к удалению какой-либо функциональности, так как состояние страницы уже было изменено и отражено в текущем глобальном контексте выполнения. Например, если на странице была загружена такая библиотека, как jQuery, удаление тегов не будет означать, что jQuery больше не отображается, поскольку она уже была добавлена в среду выполнения страницы. По сути, это только заставляет инструмент проверки DOM не отображать элементы скрипта, но подчеркивает, что когда-то выполненные элементы скрипта на самом деле являются только текстом.
1. unor, четверг, 07 июля 2016 г., wutzebaer, «Когда теги должны быть видны и почему они могут?», 1 июля, 10:53, https://stackoverflow.com/a/38147398/1026459
person
Travis J
schedule
07.07.2016
<style>
с редактируемым содержимым. Хороший способ увидеть эффекты в реальном времени. - person John Dvorak   schedule 01.07.2016