在Oracle Apex 5中,我想打开一个页面进行打印。因为没有顶部和侧面菜单(安全空间和墨水),我想在新选项卡中打开页面。
如this question所述,我使用javascript
和window.open
。但我必须使用参数,APEX需要有效的校验和。
所以我填充了一个(隐藏的)字段
BEGIN
return APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || v('APP_ID') || ':310:'||v('APP_SESSION')||'::NO::P310_YEAR,P310_DEPT:'||v('P300_YEAR')||','||v('P300_DEPT'),
p_checksum_type => 'SESSION');
END;
并使用“重定向到URL”按钮
javascript:var x=window.open($v('P300_URL'));
但是每次我点击这个按钮,都会打开一个新选项卡(很好!)但我必须在新选项卡和旧选项卡中再次登录我的应用程序。
为什么我的会话被杀?
登录后,URL似乎被转义(%26amp%3Bcs%3D
而不是&cs=
)。
我正在谷歌搜索几个小时,但似乎没有人有这个问题,或者我自己就是问题。
我发现了这个问题。在我的DA中设置Value,我启用了“Escape Special Characters”。禁用后,效果很好。 M(
问题不透明,因为在“仅显示”字段中看不到转义。