在 PHP 中使用 innerHTML 加载 TinyMCE

Load TinyMCE using innerHTML in PHP

根据选定的选项,代码在 complemento1 div:

上打印 textarea
        if ($_GET["t"]==1) /// Text
    {
        $str="";
        $str.="<table width=100%>";
            $str.="<tr>";
                $str.="<td>";
                    $str.="Digite aqui o texto que será exibido:";
                $str.="</td>";
            $str.="<tr>";
                $str.="<td>";
                    $str.="<textarea id='texto' name='texto' rows=3 cols=80>".$row["texto"]."</textarea>";
                $str.="</td>";
        $str.="</table>";
        echo "<script>window.parent.document.getElementById('complemento1').innerHTML=\"".$str."\";</script>";
    }

现在我想添加一个 TinyMCE 编辑器,但我的尝试失败了,我尝试将代码放在 PHP 文件中:

    <script src="/_assets/editor/vendor/tinymce/tinymce/tinymce.min.js"></script>
    <script type="text/javascript">tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false});</script>

尽管 "Mode: textareas" 没有任何反应...如果我在我的代码中调用 init:

<script>window.parent.document.getElementById('complemento1').innerHTML=\"".$str."\"; tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false});</script>

控制台报错:

Uncaught ReferenceError: tinymce is not defined
at 

^^^ 已经在我的PHP上定义了! (在头)

我哪里错了?如何正确定义 TinyMCE?

首先尝试在开头加载tinymce并尝试打开它检查是否存在

<script src="/_assets/editor/vendor/tinymce/tinymce/tinymce.min.js"></script>

或者在加载代码后尝试 运行 你的 JS :

$('#complemento1').html(\"".$str."\").promise().done(function( arg1 ) {
  //  try fire the event here  
 tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false})
});

你也可以尝试添加document.ready功能

$( document ).ready(function() {
    $('#complemento1').html(\"".$str."\").promise().done(function( arg1 ) {
     //  try fire the event here  
    tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false})
    });
});