Как добавить <script>тегов в JQuery - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь добавить теги в iframe, но jQuery, похоже, автоматически удаляет теги.Я провел некоторое исследование и выяснил, что это необходимо для поддержания чистоты DOM.

Есть ли как-нибудь обойти это как-нибудь?


Мой HTML-код:

<div class="card-body">
<div class="sources">
    <textarea class="col-md-4 innerbox html editorviewfont"></textarea>
    <textarea class="col-md-4 innerbox css editorviewfont"></textarea>
    <textarea class="col-md-4 innerbox js editorviewfont"></textarea>
</div>
<div class="col-md-12 innerbox preview editorviewfont">
    <iframe id="previewtarget">
         <div id="source" contenteditable="true">
             <!DOCTYPE html>
             <html lang="en">
                 <head>
                     <meta charset="utf-8">
                 </head>
                 <body>
                 </body>
             </html>
         </div>
    </iframe>
</div>

Мой код JavaScript

$(function(){
function GetHtml(){
    var html = $('.html').val();
    return html;
}
function GetCSS(){
    var Css = $('.css').val();
    return Css;
}
function GetJS(){
    var js = $('.js').val();
    return js;
}
$('.innerbox').live("keyup",function(){
    var targetp = $('#previewtarget') [0].contentWindow.document;
    targetp.open();
    targetp.close();

    var gethtml = GetHtml();
    var getcss = GetCSS();
    var getjs = GetJS();

    var javascriptinject = document.createElement("script");

    javascriptinject.src = getjs;

    $('body',targetp).append(gethtml);
    $('head',targetp).append('<style>' + getcss + '</style>');
    $('head',targetp).append(javascriptinject);
})
});

1 Ответ

0 голосов
/ 21 сентября 2018

Вы контролируете оба домена?Тот, у которого есть Ифраме, и тот, у кого есть содержание Ифраме?

Может быть, кто-то может исправить меня, но я думаю, что вы столкнетесь с проблемами межсайтового скриптинга при попытке внедрения скрипта в Iframe, который не находится в том же домене.

Дополнительная информация может бытьнайдено в этом посте:

внедрить функцию JavaScript в Iframe

...