Oracle APEX 卡区域不会转义字符

问题描述

我正在使用 APEX 20.2 的新卡片区域,我面临的问题是我无法在该区域转义字符。 例如我想创建一个卡片区域,每张卡片都会有多个缩略图基于以下选择

Select '123' card_ID,'<img src="photo1.jpg" height="50"> <img src="photo2.jpg" height="50">' Photos from dual

我还没有找到转义字符和显示图像的方法。它显示文本 "<img src="photo1.jpg" height="50"> <img src="photo2.jpg" height="50">

我也尝试过高级格式化。

有什么想法吗?

解决方法

要呈现 HTML 标记,您只需启用高级格式并将以下内容添加为 HTML 表达式:

&PHOTO!RAW。

默认情况下,卡片会转义列值。但是,如果您使用 escape modifier RAW 定义列替换,则不会对列值进行转义并呈现 HTML。请注意使用呈现其原始值的项目,因为这是跨站点脚本(或在您的情况下,二阶跨站点脚本)的攻击向量。

,

所有列都被转义,并且在服务器端没有不转义的选项。

您可以为要逃脱的卡片上的特定字段指定一个类别。

创建一个 onload 执行 JavaScript 动态动作

$('.my-class').each(function(){
    return $(this).html($(this).text())
})

但是,这仅适用于页面加载,不适用于刷新卡片区域的动态操作。