CKEditor 显示在所有内容之上 flex

CKEditor display on top of all the content flex

我找到了很多并得到了一个我在我的项目(Flex Web 应用程序)中使用的编辑器。

我从这个 link.

使用了 CKEditor
<ckeditor:CKEditor id="editor1" width="100%" height="100%">
        <ckeditor:htmlText>
            <![CDATA[

            ]]>
        </ckeditor:htmlText>
</ckeditor:CKEditor>

它在我的项目中工作正常。但是,我面临一个问题。

问题:
我有一个警报消息和自定义弹出容器。我想在编辑器的顶部显示它们。却躲在小编的身后

我想显示在那个编辑器之上。我该怎么做?

目前看起来像:

谢谢。

我认为这不可能,因为 CKEditor 区域是在 swf 上绘制的。因此,不幸的是,您无能为力。

看看您的 html 页面源代码,您就会明白我的意思。

编辑:

我同意@fsbmain 关于使用 ExternalInterface 的观点,但要显示 JavaScript 警报:

if(ExternalInterface.available){
    ExternalInterface.call('alert', 'some message here !');
}

编辑 2 :

要隐藏您的 CKEditor,您可以使用 JavaScript 函数,您可以通过 ExternalInterface 调用该函数:

JS :

<script type="text/javascript">     
    function hideCKEditor()
    {
        document.getElementById('ck0').style.display = 'none';
    }       
</script>

然后在 ActionScript 端:

if(ExternalInterface.available){
    ExternalInterface.call('hideCKEditor');
}

Alert.show('Your message here !', 'Alert Box', mx.controls.Alert.OK);

希望能帮到你。

该编辑器基于 html div(因此它是您的 swf 应用程序上方的 html 元素),这意味着您只有三个选项来显示弹出窗口 "over"它:

  1. 打开弹出窗口时隐藏编辑器 - 在我看来最好的选择 risks/time 比率

实际上所有其他方法都是肮脏的作弊,需要大量工作,结果有问题,有很多边缘情况和潜在问题:

  1. 在 html 上方的单独 swf 中显示弹出窗口,在两个 swf 之间进行通信 ExternalInterface
  2. 如果你真的想在后台显示编辑器,请改进 #1 - 使用 JS 制作你的编辑器屏幕截图(试试 Using HTML5/Canvas/JavaScript to take screenshots),通过 ExternalInterface 将数据发送到 flash 并将其显示在 Bitmap