简体   繁体   English

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

[英]How to append the HTML code snippet to HTML iframe using jquery?

How to append the HTML code snippet to HTML iframe using jquery? 如何使用jquery将HTML代码段附加到HTML iframe? Actually, I have added an HTML code snippet in MySQL Database using PHP. 实际上,我已经使用PHP在MySQL数据库中添加了一个HTML代码片段。 Now I have fetched that HTML Code snippet and trying to append that HTML code snippet in iframe using jquery. 现在我已经获取了HTML代码片段并尝试使用jquery将该HTML代码段附加到iframe中。

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

But I am getting the following error 但是我收到以下错误

Uncaught SyntaxError: Invalid or unexpected token 未捕获的SyntaxError:无效或意外的令牌

snippets_preview has the following value in it. snippets_preview中包含以下值。 when I change the value of snippet_preview. 当我更改snippet_preview的值时。 it works fine. 它工作正常。

<!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>

If you want to embed html code in an iframe you have to do for example: 如果你想在iframe中嵌入html代码,你需要做的例如:

JAVASCRIPT (class) 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>

In your html page 在你的HTML页面中

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

JAVASCRIPT (for append in your new iframe) JAVASCRIPT(用于附加在新的iframe中)

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM