Тип скрипта включает в себя тег скрипта - PullRequest
0 голосов
/ 25 февраля 2019

Текст / шаблон типа сценария включает тег сценария, игнорирующий закрытый тег сценария.Ниже приведен мой пример кода Html

<div id="container">
</div>

<script id="template" type="text/template">
    <script>
        (function () {
            alert('@Replacement')
        }());
    </script>
</script>

JS

var template = $("#template").html();
template = template.replace("Replacement", "Hi");
$('#container').text(template);

Я ожидаю, что после запуска javascript появится следующее отображение на странице

<script>
    (function () {
        alert('@Replacement')
    }());
</script>

Но игнорируется врезультат как следующий:

<script>
    (function () {
        alert('@Replacement')
    }());

1 Ответ

0 голосов
/ 25 февраля 2019

Содержимое тега сценария обрабатывается как простой текст.

Таким образом, начальный тег <script> внутри обрабатывается как текст, а конечный тег first </script> обрабатываетсяв качестве конца элемента сценария.

Второй </script> конец тега затем отбрасывается, так как нет соответствующего открытого элемента сценария.


Используйте элемент <script> какместо для хранения шаблона - это грязный хак.Вы только что нашли точку, где она ломается.

Попробуйте вместо этого использовать <template> элемент .Обращайте внимание на поддержку браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...