反饋已提交

網絡繁忙

JS实现填报长时间未操作关闭窗口

1. 概述

1.1 问题描述

本文提供了报表一段时间内没有操作,那么页面会自动退出或者关闭的方法。效果如下图所示:

BC59038D-5C9C-4924-B29E-886954C6A8BA.GIF

1.2 实现思路

填报模板添加加载结束事件,JavaScript 代码中设置一个倒计时,当监听到 keydown、mousemove、mousedown 等事件时,重置倒计时。

若倒计时为 0,触发关闭页面事件。

2. 示例

2.1 准备模板

打开设计器内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\VerifyForm\内置校验.cpt

2.2 添加事件

菜单栏点击模板>模板Web属性,在填报页面设置处添加一个加载结束事件,如下图所示:

1600935280553272.png

JavaScript 代码如下:

 /* if 10 seconds no operation then logout  */
        var maxTime = 10; // 此处设置倒计时时间,单位为秒
        var time = maxTime;
        $('body').on('keydown mousemove mousedown', function(e) {
            time = maxTime; // reset
        });
        var intervalId = setInterval(function() {
            time--;
            if (time <= 0) {
                ShowInvalidLoginMessage();
                clearInterval(intervalId);
            }
        }, 1000)
        function ShowInvalidLoginMessage() {

FR.Msg.alert("系统提示","您已经长时间没操作了,即将退出系统!");
//TODO 做需要做的操作
//exp:关闭页面
setTimeout(function () {
window.close();
},2000);//弹出提示2秒后关闭页面,此处单位为毫秒
        }

注:示例中设置了 10 秒内没操作页面,那么就会自动关闭窗口,实际场景中可以延长时间,改下代码中倒计时时间即可。

2.3 效果预览

保存模板,点击填报预览,10 秒内不操作页面,页面会自动关闭,如下图所示:

BC59038D-5C9C-4924-B29E-886954C6A8BA.GIF

注:不支持移动端预览。

3. 模板下载

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\填报长时间未操作关闭窗口.cpt

点击下载模板:填报长时间未操作关闭窗口.cpt

附件列表


主題: 目录错乱的简中文档合集
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

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

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

不再提示

10s後關閉