oracle - Oracle Apex 模态对话框链接被错误转换
问题描述
我有一个通过 Javascript的 Oracle Apex 18.1对话框。在该模态对话框内有一个经典报告区域,其中显示了一堆附加了超链接的图像。我使用的模板如下所示:
<a href="f?p=&APP_ID.:40:&APP_SESSION.::NO:RP:P40_VIDEOID:#VIDEOID#">
<img src="https://img.youtube.com/vi/#VIDEOID#/mqdefault.jpg" width="210" height="118">
</a>
问题是,Apex 在打开模态对话框之前将该链接转换为如下所示:
<a href="javascript:apex.navigation.dialog.close(true,'f?p=100:40:4815510542999:::::');::NO:RP:P40_VIDEOID:vFZHArtFt8Y" class="WATCHED_VIDEO_0">
<img src="https://img.youtube.com/vi/vFZHArtFt8Y/mqdefault.jpg" width="210" height="118">
</a>
这会破坏页面,因为那里的 Javascript 无效 - 项目参数没有被替换,因此链接不起作用。
我该怎么做才能让 apex 包含该项目值?
解决方案
也许您可以在您的选择中创建 url,然后在您的模板中使用。在您的 sql 中,您使用 APEX_UTIL.PREPARE_URL 创建 URL 并将列命名为 url
SELECT
...,
APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || :APP_ALIAS || ':40:' || :APP_SESSION ||'::NO::P40_VIDEOID:' || mytable.video_id,
p_checksum_type => 'SESSION') as url
FROM
mytable
在您的模板中,您可以像使用 #VIDEOID# 一样使用 url 值
<a href="#URL#">
<img src="https://img.youtube.com/vi/#VIDEOID#/mqdefault.jpg" width="210" height="118">
</a>
推荐阅读
- javascript - 对许多重新渲染和功能的反应原生应用程序在状态变化时保持运行
- visual-studio-code - VSCode:打开文件时保持焦点在源代码管理Viewlet
- javascript - ReferenceError:未定义通道
- excel - VBA 用户表单代码仅在工作表可见时才有效
- angular - Angular 9 取消 HTTP 请求
- kubernetes - 预检 (OPTIONS) 返回 403,CORS
- python - 使用 meshlabxml remiss.simplify 进行网格简化
- amazon-elasticache - 如何检查 AWS Elasticache(REDIS) 中的 if config 命令名称是否已更改
- javascript - 自定义类型作为函数:从 JavaScript 中的另一个命名函数构造函数
- kubernetes - 在 Gcp 中使用 helm 安装 ibm mq chart 版本 1.2.0,在创建 Pod 时出现错误“Creashloopbackoff”