历史版本6 :JS API兼容说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文将介绍 Finereport 10.0 升级至 11.0 时官方 JavaScript 接口的变化,用户模板中如果使用了 javaScript 代码,版本升级时,需要仔细阅读本篇文档。

注:11.0 所有新增接口 10.0 下不支持,详情可查看 API接口汇总 中接口支持的范围。

2. 说明编辑

2.1 11.0 和 10.0 接口使用说明

API接口汇总中列出来的接口即为 11.0 所有官方支持的接口,10.0 模板不一定能使用,建议 10.0 用户直接查看 10.0 相关文档,谨慎使用 11.0 的接口。

1)10.0 中有但 11.0 API 中未列出的接口,建议用户谨慎使用,可能会存在兼容性问题。

2)有部分接口,虽然在 10.0 和 11.0 下名称一致,但可能调用方法、继承来源的对象不一样,建议参考 11.0 的接口介绍文档,不要盲目使用。

2.2 contentPane 对象废弃

11.0 废弃了 contentPane 对象,contentPane 对象上的大部分方法转移到 _g() 获取的报表对象上。废弃的 contentPane 对象及其上的方法在 11.0 中可以使用,但后续不会随版本迭代更新,即在 11.0 上使用会存在兼容风险,建议用户谨慎使用。

1)contentPane 对象上废弃的接口在 11.0 API 中几乎都有替代接口,少量无替代的持续更新中,用户参考 11.0 API 使用即可。

2)用户升级后,若模板中使用了 contentPane 对象此类旧接口,需要特别注意,建议参考 11.0 API 修改为新接口。

2.3 非官方接口代码方案

通过 jQuery、CSS 获取 HTML DOM 元素修改前端样式的代码方案,和报表前端架构息息相关,版本升级时,兼容性非常不好,建议用户谨慎使用。

1)10.0 升级后若此类方案不生效,根据当前前端重新修改代码即可。

2)11.0 开发模板时,建议用户使用官方接口,避免使用非官方接口,若用户使用非官方接口出现问题,官方将不协助排查问题。

2.4 新旧决策报表下的使用问题

用户从 10.0 升级到 11.0 时,决策报表默认为旧版决策报表,旧版决策报表不能使用 11.0 新增的接口,可以切换至新版决策报表下使用 11.0 新增的接口,如何切换可查看:切换新旧决策报表

1)如果用户要使用 11.0 的接口,要切换成新版决策报表。

2)旧版本对应的是 10.0 决策报表前端,10.0 接口的模板可以在旧决策报表下使用,但为了避免后续可能会发生的兼容风险,建议用户转换成新版本,使用 11.0 的接口。

2.5 新计算引擎下的使用问题

11.0 将新计算引擎内置,用户升级后,如果 10.0 模板中使用了 JS 代码,且模板开启了新计算引擎,会存在兼容风险,建议用户直接将代码修改为 11.0 API 中支持的接口。

3. 注意事项编辑

问题描述

在模板中加入 JavaScript 后,预览模板时,报错 CustomJSError : _XXXXXXXX.submit is not a function

原因分析

代码中写的接口或者方法不存在。

解决方法

检查代码中使用的接口有没有拼写错误;检查代码中使用的接口在当前环境下是否支持,如:

  • 10.0 的模板用了只 11.0 支持的接口

  • 旧版决策报表用了只 11.0 支持的接口

检查后对应修改正确即可。