1. 概述
1.1 预期效果
预览报表时,希望预览一段时间后退出当前预览页面,自动跳转到指定页面,如下图所示。
注:此方案只是控制报表最长预览时间,超时自动跳转,若要实现平台中用户登录超时退出可参考:登录超时
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 可以控制模板预览时间。如下图所示:
注:不支持移动端。