Это артефакт способа реализации jqLite .
Чтобы теги сценария работали, просто убедитесь, что библиотека jQuery загружена до файла angular.js
.
<head>
<script src="//unpkg.com/jquery"></script>
<script src="//unpkg.com/angular/angular.js"></script>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
DEMO на PLNKR .
если вы объясните больше, что innerHTML достаточно для предотвращения выполнения тегов скрипта, я выберуВаш правильный ответ
HTML5 указывает, что тег <script>
, вставленный с innerHTML
, не должен выполняться.
Однако есть способы выполнить JavaScriptбез использования элементов <script>
, поэтому при использовании innerHTML
все еще существует угроза безопасности для установки строк, которые вы не можете контролировать.Например:
const name = "<img src='x' onerror='alert(1)'>";
el.innerHTML = name; // shows the alert
По этой причине рекомендуется не использовать innerHTML
при вставке простого текста;вместо этого используйте Node.textContent
.Это не анализирует переданный контент как HTML, но вместо этого вставляет его как необработанный текст.
Для получения дополнительной информации см. Справочник по MDN Web API - Element.innerHTML .