CKEditor显示在所有内容flex之上

时间:2015-11-02 11:34:43

标签: actionscript-3 flex ckeditor fckeditor

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

我已使用此link.

中的CKEditor
<ckeditor:CKEditor id="editor1" width="100%" height="100%">
        <ckeditor:htmlText>
            <![CDATA[

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

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

问题:
我有一个警报消息和自定义弹出容器。我想在编辑器上显示两者。但它隐藏在编辑背后。

我想在该编辑器上显示。我怎么能这样做?

目前看起来像:

enter image description here

enter image description here

感谢。

2 个答案:

答案 0 :(得分:1)

我不认为这是可能的,因为CKEditor区域是在swf上绘制的。不幸的是,你可以做任何事情。

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

修改:

我同意@fsbmain关于使用ExternalInterface,但要显示JavaScript警告:

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

编辑2:

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

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);

希望可以提供帮助。

答案 1 :(得分:1)

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

  1. 打开弹出窗口时隐藏编辑器 - 在我看来风险/时间比率的最佳选择
  2. 实际上所有其他方法都是肮脏的作弊,需要做大量的工作,结果可疑,有很多边缘案例和潜在的问题:

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