历史版本12 :JS实现报表预览超时自动跳转 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

预览报表时,希望预览一段时间后退出当前预览页面,自动跳转到指定页面,如下图所示。

注:此方案只是控制报表最长预览时间,超时自动跳转,若要实现平台中用户登录超时退出可参考:登录超时

1535707412X2y0dnkF.gif


1.2 实现原理

利用 JavaScript 提供的 setTimeout() 方法可以进行延时操作,再利用 window.location 来跳转到指定页面,通过 Ajax 来进行数据的交互。

2. 示例编辑

2.1 准备 JS 文件

%FR_HOME%\webapps\webroot\help目录下新建一个 logout.js 文件。

点击可下载:logout.js

JavaScript 代码内容为:

setTimeout(function () {
    jQuery.ajax({
        url: "/webroot/decision/logout",//单点登录的报表服务器  
        data: {},
        timeout: 5000,
        success: function (data) {
            window.location = "/webroot/decision/login";
        },
        error: function () {
            alert("error"); // 登录失败(超时或服务器其他错误)
        }
});
 },3600);//最大预览时间(单位:毫秒),设置了 3600 毫秒后退出,可以根据实际需要进行修改

2.2 引用 JS 文件

打开一个模板,点击菜单栏「模板>模板 Web 属性>引用 JavaScript」,引用 logout.js 文件,如下图所示:

注:如果服务器中所有的模板都需要此功能,可以在服务器>服务器配置>引用 Javascript 中引用 logout.js。

2.3 效果预览

保存模板,点击「分页预览」,经过 3.6 秒后,报表会自动退出,跳转到重新登录「决策平台」的界面,即通过 JavaScript 可以控制模板预览时间。如下图所示:

222