反馈已提交

网络繁忙

JS实现点击报表实现全屏效果

  • 文档创建者:天狮座
  • 历史版本:15
  • 最近更新:RosieY 于 2021-08-11
  • 1. 概述

    1.1 问题描述

    在浏览器上大家都习惯于 F11 让报表达到全屏效果,但是对于有些仅用于展示的电脑而言,有时候是不配备键盘,稍做调整只能用鼠标来实现。

    效果如下图所示,鼠标点击决策报表主体,报表全屏显示;再点击,恢复为原来的样子。适用于某些不配备键盘,大屏讲解的场景。

    1571129586244072.gif

    注:此处以决策报表为例,在普通报表中,通过点击按钮实现全屏的方法可参考:JS 实现点击按钮实现全屏预览

    1.2 解决思路

    利用 JS 来控制点击报表来实现全屏效果。

    2. 示例

    2.1 准备模板

    准备内置模板: %FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\analytics\sales\签约额详细分析.frm 

    点击可下载模板:签约额详细分析.frm

    2.2 添加事件

    打开模板,选中 body,添加一个「点击」事件,如下图所示:

    1571129842481571.png

    JavaScript 代码如下:

    var docElm = document.documentElement;
    var explorer = window.navigator.userAgent.toLowerCase();
    if(explorer.indexOf('chrome') > 0) { //webkit
        if(document.body.scrollHeight === window.screen.height && document.body.scrollWidth === window.screen.width) {
            if(document.exitFullscreen) {
                document.exitFullscreen();
            } else if(document.msExitFullscreen) {
                document.msExitFullscreen();
            } else if(document.mozCancelFullScreen) {
                document.mozCancelFullScreen();
            } else if(document.webkitCancelFullScreen) {
                document.webkitCancelFullScreen();
            }
        } else {
            //W3C
            if(docElm.requestFullscreen) {
                docElm.requestFullscreen();
            }
            //FireFox浏览器
            else if(docElm.mozRequestFullScreen) {
                docElm.mozRequestFullScreen();
            }
            //Chrome等浏览器
            else if(docElm.webkitRequestFullScreen) {
                docElm.webkitRequestFullScreen();
            }
        }
    } else { //fireFox浏览器
        if(window.outerHeight === window.screen.height && window.outerWidth === window.screen.width) {
            if(document.exitFullscreen) {
                document.exitFullscreen();
            } else if(document.msExitFullscreen) {
                document.msExitFullscreen();
            } else if(document.mozCancelFullScreen) {
                document.mozCancelFullScreen();
            } else if(document.webkitCancelFullScreen) {
                document.webkitCancelFullScreen();
            }
        } else {
            //W3C
            if(docElm.requestFullscreen) {
                docElm.requestFullscreen();
            }
            //FireFox浏览器
            else if(docElm.mozRequestFullScreen) {
                docElm.mozRequestFullScreen();
            }
            //Chrome等浏览器
            else if(docElm.webkitRequestFullScreen) {
                docElm.webkitRequestFullScreen();
            }
        }
    }

    注:上述代码仅适配于谷歌、火狐、360(极速模式)浏览器。

    2.3 效果预览

    保存模板,点击 「PC端预览」,PC 端效果如下图所示:

    1571130094546109.gif

    注:不支持移动端。

    3. 模板下载

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\04-JS实现点击报表实现全屏效果.frm

    点击下载模板:04-JS实现点击报表实现全屏效果.frm

    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持