JS 實現點選按鈕實現全螢幕預覽

1. 概述

1.1 問題描述

在瀏覽器上大家都習慣於 F11 讓報表達到全螢幕效果,但是對於有些僅用於展示的電腦而言,有時候是不配備鍵盤,稍做調整只能用滑鼠來實現。

效果如下圖所示,滑鼠點選決策報表主體,報表全螢幕顯示;再點選,恢復為原來的樣子。適用於某些不配備鍵盤,企業戰情室講解的場景。

2024-11-26_12-52-42.gif

注:此處以決策報表為例,在普通報表中,透過點選按鈕實現全螢幕的方法可參考:JS 實現點選按鈕實現全螢幕預覽

1.2 解決思路

利用 JS 來控制點選報表來實現全螢幕效果。

2. 範例

2.1 準備範本

準備內建範本: %FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\analytics\sales\簽約額詳細分析.frm 

點選可下載範本:簽約額詳細分析.frm

2.2 新增事件

開啟範本,選中 body,新增一個「點選」事件,如下圖所示:

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 端效果如下圖所示:

2024-11-26_12-52-42.gif

注:不支援行動端。

3. 範本下載

已完成的範本,可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表單JS實體\04-JS實現點選報表實現全螢幕效果.frm

點選下載範本:04-JS實現點選報表實現全螢幕效果.frm

附件列表


主題: 二次開發
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s后關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙