Как вставить <script></script> через innerhtml в javascript?

Пользователь

от steve , в категории: JavaScript , 2 года назад

Как вставить <script></script> через innerhtml в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от chloe.keebler , 2 года назад

@steve 

Можно вставить через innerHTML, но данная опция не сработает так, как нужно. Это связано с тем, что при вставке ноды браузер будет считать, что это скрипт и попытается его выполнить. Однако, оригинальный код не будет выполнен из-за наличия недопустимого контента внутри тэга . Чтобы избежать данной проблемы, можно использовать другие способы добавления кода.


Вот пример вставки любого другого HTML кода, кроме :

1
2
var element = document.getElementById("sampleElement"); // получаем элемент по его ID
element.innerHTML = "<p>Пример HTML кода, который вставлен через innerHTML</p>"; // добавляем HTML содержимое в элемент


Если нужно вставить , можно вместо innerHTML использовать методы createElement() и appendChild(). Вот пример:

1
2
3
4
5
var element = document.getElementById("sampleElement"); // получаем элемент по его ID
var script = document.createElement('script'); // создаем тэг скрипта
script.type = "text/javascript"; // указываем атрибут type
script.innerHTML = "console.log('Мой скрипт работает!');"; // задаем содержимое скрипта
element.appendChild(script); // добавляем скрипт в конец элемента


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

Пользователь

от sylvester , 9 месяцев назад

@steve 

Пожалуйста! Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать.