反馈已提交

网络繁忙

超级链接常见问题

  • 文档创建者:Alicehyy
  • 历史版本:10
  • 最近更新:Catqiu 于 2022-11-16
  • 1. 概述

    本文将介绍各类超级链接使用过程中遇到的问题和解决方案。

    2. 超链到帮助文档无效

    问题描述

    网页链接的 URL 设置为帮助文档的地址:https://help.fanruan.com/finereport/

    1586929750448440.png

    报表预览时点击超链,帮助文档网页内容无法正常显示,如下图所示:

    1586929313227900.png

    原因分析

    报表解析网页链接的时候会自动加上时间戳,帮助文档的链接增加时间戳之后跳转有问题,目前未发现除了帮助文档之外有问题的链接。

    解决方案

    设置帮助文档超链时,不要用网页链接的方式,改用JavaScript脚本的方式,代码如下:

    window.open("https://help.fanruan.com/finereport/")

    1586930071477293.png

    3. 动态参数问题

    3.1 动态参数为数组时报错

    问题描述

    当「动态参数」类型的超级链接里面的参数为如下图所示的数组类型时。

    1605858958160506.png

    点击该超级链接会出现报错信息:「错误代码:11300001 数据集配置错误」,如下图所示:

    1605853030125230.png

    原因分析

    因为在超链过程中会将数组类型的动态参数转化为字符串类型,故而会导致这样的错误。

    解决方案

    在添加超级链接类型为「动态参数」时,不可以使用数组类型的动态参数,需要 用 joinarray 函数将数组转换为字符串

    3.2 动态参数为空时日志报错

    问题描述

    例如文档 多列动态排序 中的模板,当报表中设置了动态参数 $asc,其值为「单元格」,又使用了 $a[!0] (获取扩展后单元格值)这种类型的公式,设计器日志中会出现报错:ERROR [standard] 错误的描述为: [!0]。如下图所示:

    注:不影响模板的正常使用。

    原因分析

    因为当页面初始化预览时,动态参数 $asc 为空,如果没有设置 asc 参数的默认值,则需要点击超链后才被赋值。所以公式解析失败,就会报错。

    解决方案

    可在模板参数中设置一个相同名称的参数,并给参数设置一个默认值(任意一个超链的单元格),如下图所示:

    1617872803691740.png

    因为不影响模板的正常使用,不介意日志中报错信息则可以不做改变。

    4. 去除超级链接下划线

    问题描述

    单元格添加超级链接后,会自动有个下划线,如下图所示,那么如何去掉这条线呢?

    Snag_13ab8c9.png

    解决方案

    这个下划线其实就是单元格里面文字加了下划线,只需要去掉这个文字下划线就行。

    1619767379373546.png

    去掉下划线的效果如下图所示:

    Snag_1434b3e.png

    5. 日期公式作为超链参数时的返回值

    日期公式作为超链参数被传参出去时,将会传出 Date 类型原值,也就是带有时分秒的值,格式为:yyyy-mm-dd hh:mm:ss

    但是如果日期公式直接在单元格中展示,预览时单元格转 html,会将 Date 类型转化成字符串,会去掉时分秒,格式为:yyyy-mm-dd

    例如:一张模板里设置了超链,链接到另一张模板,参数是公式today()

    Snag_52cbfedd.png

    另一张模板里,一个单元格里直接写公式today(),一个单元格里引用这个参数。

    Snag_52d7c7c5.png

    最终超链跳转后,预览效果如下图所示

    Snag_52d97af4.png

    6. 使用超链链接-网页链接打开对话框无法正常跳转

    问题描述

    网页链接中的地址可以在浏览器直接打开访问,但该地址挂载到frm的图表超链接上后,预览frm图表,点击超链接区域,弹出被拒绝的对话框。

    原因分析

    浏览器和服务器的 iframe 限制。访问站点设置X-Frame-Options,确保网站不被嵌入其他的站点中。模板页以及弹出的对话框就是不同源,所以对话框访问此类网页链接,无法正常访问。

    解决方案

    1)不使用对话框打开,用超链到新页面打开,此方法安全性高,不需要关闭各项配置。
    2)关闭 FineReport 工程安全管理的 Security Headers,另外需要被对话框访问的各应用服务器都要删掉 X-Frame-Options(目前不能确认其他非 FineReport 应用删掉这项配置后的安全性风险)

    7. 超链传参URL过长出现报错

    问题描述

    使用超链传参,URL过长出现报错:414 request 

    原因分析

    参数传递方式有两种参数传递的方式,它们的区别如下:

    • GET:效率高,但不安全,传递的参数会显示在 URL 后面,且长度不能超过 1K 。

    • POST:参数个数及值的长度没有限制,且参数不会显示在 URL 后面,安全但效率低。

    解决方案

    由 GET 改为 POST 即可。



    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭