хранить тег <script>в DOM, не распознавая его (AKA, какой-то узел <text>, который не будет выполнять теги JavaScript?) - PullRequest
0 голосов
/ 23 января 2020

Позвольте мне объяснить: я хочу сохранить большую строку того, что будет страницей Blob HTML, на моей другой странице HTML. Например:

.

 <html>
    <head>
    
    </head>
    <body>
    <div id="lol" style="display:none">
        <b id="gf">asdf</b>
        <script>
        document.write(2134);
        window.addEventListener("message", e => {
            gf.innerHTML = Date.now();
        })
        </script>
     
    </div>
    <script>
    var asdf = document.createElement("iframe");
    asdf.src = URL.createObjectURL(new Blob([lol.innerHTML], {
        type:"text/html"
    
    }))
    asdf.addEventListener("load", () => {
    	asdf.contentWindow.postMessage(23, "*")
    });
    document.body.appendChild(asdf);
    addEventListener("message", e => console.log(e.data))
    </script>
    </body>
    </html>

Работает так, как задумано, проблема в части <div id="lol">, которая предназначена исключительно для хранения текста для большого двоичного объекта (поскольку он хранится в длинном * 1032). * строка, окруженная "` `", не работает, не спрашивайте), фактически активирует содержимое внутри, которое устанавливает прослушиватель событий в главное окно (в дополнение к установке его для окна iframe после него) был назначен на BLOB-объект); есть ли в * 1033 какой-то узел, который используется исключительно для хранения больших строк, но не имеет никакого эффекта, AKA не выполняет никаких сценариев? Я думал об использовании <script type="bla">, но когда я делаю </script> в середине, я почти уверен, что он разбивает окружающий тег <script> вместо того, чтобы содержать его внутри, поэтому: Как я могу хранить текст внутри узла HTML, чтобы теги <script> не выполнялись в этом узле?

Я нашел это: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre, который должен содержать простой текст в HTML, но он все еще выполняет <script>, также я нашел https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code, который предлагает <code> в качестве альтернативы незашифрованному тексту , но он все еще выполняет мой <script> tags ... какой тег HTML можно использовать только для рендеринга / хранения абсолютно простого текста, независимо от того, что в нем напечатано?

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