反馈已提交
网络繁忙
本文将介绍各类超级链接使用过程中遇到的问题和解决方案。
问题描述
网页链接的 URL 设置为帮助文档的地址:https://help.fanruan.com/finereport/。
报表预览时点击超链,帮助文档网页内容无法正常显示,如下图所示:
原因分析
报表解析网页链接的时候会自动加上时间戳,帮助文档的链接增加时间戳之后跳转有问题,目前未发现除了帮助文档之外有问题的链接。
解决方案
设置帮助文档超链时,不要用网页链接的方式,改用JavaScript脚本的方式,代码如下:
window.open("https://help.fanruan.com/finereport/")
当「动态参数」类型的超级链接里面的参数为如下图所示的数组类型时。
点击该超级链接会出现报错信息:「错误代码:11300001 数据集配置错误」,如下图所示:
因为在超链过程中会将数组类型的动态参数转化为字符串类型,故而会导致这样的错误。
在添加超级链接类型为「动态参数」时,不可以使用数组类型的动态参数,需要 用 joinarray 函数将数组转换为字符串
例如文档 多列动态排序 中的模板,当报表中设置了动态参数 $asc,其值为「单元格」,又使用了 $a[!0] (获取扩展后单元格值)这种类型的公式,设计器日志中会出现报错:ERROR [standard] 错误的描述为: [!0]。如下图所示:
注:不影响模板的正常使用。
因为当页面初始化预览时,动态参数 $asc 为空,如果没有设置 asc 参数的默认值,则需要点击超链后才被赋值。所以公式解析失败,就会报错。
可在模板参数中设置一个相同名称的参数,并给参数设置一个默认值(任意一个超链的单元格),如下图所示:
因为不影响模板的正常使用,不介意日志中报错信息则可以不做改变。
单元格添加超级链接后,会自动有个下划线,如下图所示,那么如何去掉这条线呢?
这个下划线其实就是单元格里面文字加了下划线,只需要去掉这个文字下划线就行。
去掉下划线的效果如下图所示:
日期公式作为超链参数被传参出去时,将会传出 Date 类型原值,也就是带有时分秒的值,格式为:yyyy-mm-dd hh:mm:ss
但是如果日期公式直接在单元格中展示,预览时单元格转 html,会将 Date 类型转化成字符串,会去掉时分秒,格式为:yyyy-mm-dd
例如:一张模板里设置了超链,链接到另一张模板,参数是公式today()
另一张模板里,一个单元格里直接写公式today(),一个单元格里引用这个参数。
最终超链跳转后,预览效果如下图所示
网页链接中的地址可以在浏览器直接打开访问,但该地址挂载到frm的图表超链接上后,预览frm图表,点击超链接区域,弹出被拒绝的对话框。
浏览器和服务器的 iframe 限制。访问站点设置X-Frame-Options,确保网站不被嵌入其他的站点中。模板页以及弹出的对话框就是不同源,所以对话框访问此类网页链接,无法正常访问。
1)不使用对话框打开,用超链到新页面打开,此方法安全性高,不需要关闭各项配置。2)关闭 FineReport 工程安全管理的 Security Headers,另外需要被对话框访问的各应用服务器都要删掉 X-Frame-Options(目前不能确认其他非 FineReport 应用删掉这项配置后的安全性风险)
使用超链传参,URL过长出现报错:414 request
参数传递方式有两种参数传递的方式,它们的区别如下:
GET:效率高,但不安全,传递的参数会显示在 URL 后面,且长度不能超过 1K 。
POST:参数个数及值的长度没有限制,且参数不会显示在 URL 后面,安全但效率低。
由 GET 改为 POST 即可。
售前咨询电话
400-811-8890转1
在线技术支持
请前往「服务平台」,选择「在线支持」
热线电话:400-811-8890转2
总裁办24H投诉
热线电话:173-1278-1526
文 档反 馈
鼠标选中内容,快速反馈问题
鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。
不再提示
10s后关闭