使用display:none创建的CKEditor textarea

时间:2018-10-17 12:56:47

标签: ckeditor

我最近克隆了一个脚本,虽然原始脚本中的CKEditor文本区域可以正常工作,但新脚本中的文本区域却不能。

原始脚本具有以下代码:

<td align="left" valign="top">Description: <a target="_blank" href="faq_bb.php#edit"><img title = "<?= $bb_help; ?>" alt="<?= $bb_help; ?>" height=17 width=19 border=0 src="/images2/query_icon.gif"></a>
</td>
<td valign=top align="left" colspan=2>
<?php
    $winsize = strlen($bb_desc);
    if ($winsize < 255)
    {
        $editorheight = 10;
    }
    else
    {
        $editorheight = 20;
    }
    $text = html_entity_decode($bb_desc, ENT_QUOTES);
?>
    <textarea name="_bb_desc" cols=<?= $editorheight ?>>
        <?= $text ?>
    </textarea>
    <script type="text/javascript">
      CKEDITOR.replace( '_bb_desc');
    </script>
 </td>

新脚本具有:

<td align="left" valign="top">Description: <a target="_blank" href="faq_bb.php#edit"><img title = "<?= $bb_help; ?>" alt="<?= $bb_help; ?>" height=17 width=19 border=0 src="/images2/query_icon.gif"></a>
</td>
<td valign=top align="left" colspan=2>
<?php
    $winsize = strlen($bb_desc);
    if ($winsize < 255)
    {
        $editorheight = 10;
    }
    else
    {
        $editorheight = 20;
    }
    $text = html_entity_decode($bb_desc, ENT_QUOTES);
?>
    <textarea name="_bb_desc" cols=<?= $editorheight ?>>
        <?= $text ?>
    </textarea>
    <script type="text/javascript">
      CKEDITOR.replace( '_bb_desc');
    </script>
 </td>

在Web控制台元素检查器中查看呈现的页面,原始脚本将产生:

<iframe src="" style="width: 100%; height: 100%;" class="cke_wysiwyg_frame cke_reset" title="Rich Text Editor, _bb_desc" aria-describedby="cke_87" tabindex="0" allowtransparency="true" frameborder="0"></iframe>

新脚本产生:

<iframe src="" style="width: 100%; height: 100%; display: none !important;" class="cke_wysiwyg_frame cke_reset" title="Rich Text Editor, _bb_desc" aria-describedby="cke_72" tabindex="0" allowtransparency="true" hidden="" frameborder="0"></iframe>

这两个脚本在相同的环境中使用相同版本的CKEditor(4.5.3。完整版)执行。

对于可能导致不同行为的原因,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

好吧,我找到了解决方案,尽管我没有比以前更了解问题所在了。

问题似乎是由脚本名称引起的。如果它被称为tracker.php,则CKEditor无法正常运行。显然,将其更改为其他任何方法都可以解决问题。

很奇怪。