一次性使用来自多个TinyMCE4实例的getContent?

时间:2014-11-04 10:09:38

标签: javascript jquery tinymce tinymce-4

我需要从环绕的DIV获取HTML,同时从内置tinyMCE4的多个DIV中获取正确的(原始?)HTML。

我设法通过使用以下方式获取所有HTML:

jQuery("#ForSaving").html(jQuery(".Editable").html());

但是这会从tinyMCE中获取错误的HTML。而不是例如<iframe>的输出,我得到<img class="mce-object mce-object-iframe"等。

我曾尝试使用tinyMCE&#39; getContent(),但未能一次性从所有tinyMCE实例中获取正确的内容。

对我来说,重要的是我不能从tinyMCE DIV中获取内容,但也是周围的DIV和代码。我需要它来进一步处理HTML。

以下是我的纯HTML示例:

<html>
<head>        
    <script type="text/javascript">
        tinymce.init({
            selector: "div.tinyeditor",
            inline: true,
            theme: "modern",
    </script>                
</head>
<body>
    <div id="ForSaving"></div>

    <div id="Editable">
        <div class="contentwrap" id="area_(randnumb)">
            <div class="somediv">Some html</div>
            <div class="tinyeditor"><p>The HTML inside tinyMCE</p></div>
        </div>

        <div class="contentwrap" id="area_(randnumb)">
            <div class="somediv">Some html</div>
            <div class="tinyeditor"><p>The HTML inside tinyMCE</p></div>
        </div>

        <div class="contentwrap" id="area_(randnumb)">
            <div class="somediv">Some html</div>
            <div class="tinyeditor"><p>The HTML inside tinyMCE</p></div>
        </div>

        <div class="contentwrap" id="area_(randnumb)">
            <div class="somediv">Some html</div>
            <div class="tinyeditor"><p>The HTML inside tinyMCE</p></div>
        </div>
    </div> <!-- end of div#editable -->
</body>
</html>

我需要从DIV #Editable,中获取所有HTML内容,但需要使用来自tinyMCE实例的(raw?)正确的HTML输出。希望能立刻。

我需要看到这样的HTML:

           <div class="contentwrap" id="area_(randnumb)">
                    <div class="somediv">Some html</div>
                    <div class="tinyeditor">(THE REAL HTML FROM tinyMCE)</div>
           </div>

           <div class="contentwrap" id="area_(randnumb)">
                    <div class="somediv">Some html</div>
                    <div class="tinyeditor">(THE REAL HTML FROM tinyMCE)</div>
           </div>

           <div class="contentwrap" id="area_(randnumb)">
                    <div class="somediv">Some html</div>
                    <div class="tinyeditor">(THE REAL HTML FROM tinyMCE)</div>
           </div>

           <div class="contentwrap" id="area_(randnumb)">
                    <div class="somediv">Some html</div>
                    <div class="tinyeditor">(THE REAL HTML FROM tinyMCE)</div>
           </div>
</div>

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:0)

我通过做一些改变解决了这个问题:

1)我使用jquery each()来运行每个div.contentwrap

的循环

2)我首先得到了contentwrap的真实身份

3)然后构建了usin var contentwrapstart =(并在此处使用HTML + ID)

<div class="contentwrap" id="area_(randnumb)">

4)然后获得该特定小编辑的tinyMCE内容。 (不得不为那个div添加一个ID)

5)然后建立&lt;结束包装

6)将每个添加到var结果+ =(此处的值)

7)为每个

做了这个

8)存储的var result =循环外

9)稍后从var结果获得我需要的HTML。

这很有效: - )