如何使用jquery将HTML代码段附加到HTML iframe?

时间:2019-04-06 11:20:46

标签: javascript php jquery html

如何使用jquery将HTML代码段附加到HTML iframe?实际上,我已经使用PHP在MySQL数据库中添加了HTML代码段。现在,我已经获取了该HTML代码段,并尝试使用jquery在iframe中添加该HTML代码段。

$( document ).ready(function() {
    var snippets='<?php echo $snippets_preview; ?>';
    $(function() {  
        var $iframe = $('#iframehtml');
        $iframe.ready(function() {
            $iframe.contents().find("body").append(snippets);
        });
    });
});

但是我遇到了以下错误

  

未捕获的SyntaxError:无效或意外的令牌

snippets_preview中具有以下值。当我更改snippet_preview的值时。效果很好。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
        <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
        <style>'.$postdata['snippets_css'].'</style>
        <script>'.$postdata['snippets_javascript'].'</script>
    </head>
    <body>

        '.$ContentDecodedHTML.'

    </body>
</html>

1 个答案:

答案 0 :(得分:0)

如果要将html代码嵌入到iframe中,则必须执行以下操作:

JAVASCRIPT(课程)

<script>
    // -------------------------------------------------------- CLASS
        var class_iframe = {
            // ------------------------------------- STEP 1 (Create an new Iframe)
                generateIframe: function(src, targetDOM){
                    // ---------------- Create iframe
                        var newIframe = document.createElement('iframe');

                        newIframe.onload = function(){
                            class_iframe.getIframe($('.iframehtml').contents());
                        };

                        newIframe.src = src;
                        newIframe.className = "iframehtml";
                        newIframe.frameBorder = "0";

                    // ---------------- Insert iframe in DOM
                        $(targetDOM).replaceWith(newIframe);
                },

            // ------------------------------------- STEP 2 (Get iframe in this class)
                getIframe: function(iframe){
                    class_iframe.frame = iframe; console.log(class_iframe.frame);
                },

            // ------------------------------------- STEP 3 (Append in this iframe)
                appendIframe: function(targetInIframe, content){
                    console.log(class_iframe.frame);
                    $target = class_iframe.frame.find(targetInIframe); console.log($target);
                    $target.prepend(content);
                },

        }

    // -------------------------------------------------------- ACTION (loadPage)
        $(document).ready(function(){
            //$("body").prepend(`<div id="insertIframe"></div>`); //Just for the test
            class_iframe.generateIframe("your_url_iframe.html", "#insertIframe");

        });

</script>

在您的html页面中

<div id="insertIframe"></div>

JAVASCRIPT(用于在新的iframe中添加)

<script>
    // -------------------------------------------------------- ACTION (after loadPage)
        class_iframe.appendIframe("html", `<div class="insert">Hello world !</div>`);
</script>