Неплохо ли иметь тег script внутри div? - программирование
Подтвердить что ты не робот

Неплохо ли иметь тег script внутри div?

Что плохого в том, что тег script внутри div внутри тела?

Я динамически обновляю div, чтобы перезагрузить javascript-код внутри div. Есть ли проблемы, о которых нужно беспокоиться?


Изменить

Поскольку @Bergi настаивал на том, чтобы видеть код. Вот он (см. Ниже). Этот div (вместе с другими div (s), содержащими элементы HTML презентации) обновляется через AJAX. Этот script внутри div содержит карты для обработки недавно загруженных элементов HTML на странице с необработанными данными.

        <div>
            <script type="text/javascript">
                var namesMap = <dynamic string from server here>;
                var addressesMap = <dynamic string from server here>;
            </script>
        </div>
4b9b3361

Ответ 1

Совершенно нормально размещать тег <script> в любом месте документа.

От здесь,

Элемент SCRIPT помещает SCRIPT в документ. Этот элемент может появляться любое количество раз в HEAD или BODY документа HTML.

Однако, когда появляется тег <script>, он приостанавливает разбор кода до тех пор, пока SCRIPT не будет загружен и не будет выполнен.

Ответ 2

Вы можете добавить <script></script> внутри тега DIV. Просто проверьте w3c, это действительно HTML.

Ответ 3

В этом нет ничего плохого. Большинство виджетов работают таким образом. Он по-прежнему действителен HTML.

Если вы хотите встроить модуль AdSense на свою страницу, вам нужно будет это сделать. То же самое с виджетами Amazon. Это означает, что большинство сайтов имеют тег script внутри div.

Ответ 4

В SCRIPT внутри <DIV> все еще работает. Но некоторые раздражают ваш макет - shacking при прокрутке. Лучшее решение: поместите SCRIPT внутрь <body> или <head>: D

Ответ 5

Есть плюсы и минусы для размещения сценариев внутри HTML. Хорошо, что маленький сценарий можно разместить рядом с местом его использования, чтобы вам было легче понять, что делает страница.

Если никому, кроме этого места, не нужен этот сценарий, то, я думаю, его можно поместить туда.

Плохо то, что когда вы разделяете части вашей программы на несколько мест, становится все труднее видеть и управлять тем, как такие части взаимодействуют и мешают друг другу. Принимая во внимание, что если вы храните ваши html и javascript в отдельных файлах, становится легче понять каждый независимо, а затем, наконец, сосредоточиться на том, как они взаимодействуют друг с другом. Каковы "интерфейсы" между ними.

Если JavaScript встроен в html, вы не можете организовать свой скрипт-код отдельно от организации HTML.

ОДНО БОЛЬШЕ, о чем следует знать: если у вас есть DIV, вы можете подумать, что вы можете манипулировать его содержимым, переназначая его innerHTML. И это работает, за исключением того, что вы не можете внедрить скрипт в DIV таким образом. СМ:

Можно ли вставлять скрипты с помощью innerHTML?

Итак, одна плохая вещь, связанная с наличием скрипта внутри DIV, заключается в том, что вы не можете заменить такой скрипт, переназначив его innerHTML.

Ответ 6

Хорошей практикой всегда было ставить теги <script></script> в <head></head>. Однако в последнее время появляются аргументы, ставят ли теги в конце тегов <body></body>, непосредственно перед тем, как сделать страницу более быстрой.

Я бы рекомендовал поместить ваш <script></script> в раздел <head></head> вашего HTML-документа, так как он более предпочтителен. Кроме того, использование <script></script> внутри DIV не является хорошей практикой.

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

Подводя итог, нет проблем в том, что вы делаете. Но более организованный способ - это то, что я предлагаю.