[转载]Flex全屏方法介绍

[转载]Flex全屏方法介绍 – 镜涛的家 JT – 博客园.

最近在做工作流的流程设计工具相关的内容,web应用使用了比较标准的分布方式,即上、左、右的布局方式,这样做的结果就是设计工具的设计界面相对 较小,当遇到比较复杂的流程时就感觉设计的流程比较紧凑,设计工具的易用性不够好。为了解决这个问题,需要支持Flex的全屏模式。

想了下,可以通过以下方式实现Flex的全屏:

  1. 使用Flex的 FullScreen模式,具体实现方式为:
    1. 修改html- template文件夹下的index.template.html文件,在AC_FL_RunContent中增加:“allowFullScreen”, “true”;在embed中增加:allowFullScreen=”true”
    2. 通过设置stage.displayState 的值为 StageDisplayState.FULL_SCREEN来切换到全屏模式。

    缺点

    使用这种方式虽然能够将Flex切换到全屏模式,但是Flex中的InputText等 控件是无法编辑的,而且在Flex的中央会出现”Press Esc To Exist Full Screen”。因而这种方式无法满足设计需求。

    当然,中央出现的字幕还是有办法去掉的,虽然去掉之后并不能改变结果。去掉中央 的”Press Esc To Exist Full Screen”字幕的方法请见:

    http://stackoverflow.com/questions/1415436/flex-fullscreen-translate-edit-press-esc-to-exit-fullscreen-mode

    该文章讲解了去掉IE,Firefox中Flex全屏后字幕的方法。

  2. 通过showModalDialog来模拟Flex的全屏模式,showModalDialog中去掉工具栏、菜单栏、地址栏,同时将宽度 和高度设置成屏幕的宽度和高度。但是这种方式实现起来比较复杂,因为涉及到数据同步的问题,同步的方式根据项目的复杂程度和需求要求不同而不同。比较简单 的方式是在关闭showModalDialog时将数据同步主页面。因为这种方式实现复杂,容易出错,所以没有进行实现,有兴趣的朋友可以自己试试。
  3. 模拟IE的F11的全屏模式。当用户选择全屏模式的时候,模拟IE的F11 Press Down事件,隐藏掉IE的地址栏、菜单栏、工具栏等,同时将上部和左部的Frame隐藏掉,让右边的Frame全屏显示,达到预期的效果。

    IE的F11 PressDown 事件模拟方式实现如下:

    var shell = new ActiveXObject(‘WScript.Shell’)
    shell.SendKeys(‘{F11}’);

    Frame的隐藏方 法当然有很多,就不详细介绍了。

    缺 点

    这种方式需要用户修 改IE的安全选项,具体方法为:

    1. Tools > Internet options > Security > Custom Level
    2. ActiveX controls and plug-ins>Initializing and Script ActiveX controls not marked as safe>Enable

    如果没有将上面选项设置成Enable,那么会报:automation server can’t create object 错误。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏