Oracle Apex Ghosting Javascript外部文件(bug?)
Oracle Apex Ghosting Javascript external file (bug?)
这是一个棘手的问题(至少对我来说):
我创建了一个Javascript文件,我们称之为"test.js",我将其上传到SharedComponents->StaticFiles存储库,没有特别关联的应用程序。
这个文件被页面X引用,没有缓存设置,在Javascript->file URL字段上,如下所示:#WORKSPACE_IMAGES#test.js
到目前为止,库中的函数都被正确地调用和执行了。
但我在文件中遇到了一个小错误,我已经纠正了这个错误,然后在上传的文件版本中进行了修改(如果文件小于30000字节,我可以当场修改,点击应用更改)。在此之后,我删除了浏览器上的历史记录和临时文件。然而,当我再次运行该页面时,错误仍然存在,因为如控制台上所示,使用的文件是以前的文件,而不是固定版本。有点奇怪。。。好的,但这还不是全部,我决定从存储库中删除该文件,并在没有应用程序关联的情况下再次上传(同名"test.js"),再次删除浏览器上的历史记录和临时文件,然后再次运行页面。再一次(呵呵…)错误仍然存在,并且被调用的文件是不存在的。
因此,最后我决定做一个小魔术,删除文件但不上传,在页面属性中留下对#WORKSPACE_IMAGES#test.js的引用,在浏览器上删除历史记录和临时文件并再次运行,这次决定破坏页面,但它起作用了!,错误地,因为它是有缺陷的文件,但它在那里!,然后我说:"好吧,浏览器问题……",在Chrome上运行它(第一次)和它所在的文件,然后我说,"好的,机器问题。。。
该文件尚未被任何其他应用程序引用。在运行时,不存在的url的文件是:
http://192.168.141.14/apex/wwv_flow_file_mgr.get_file?p_security_group_id=3321831433497474&p_fname=test.js
我已经用一个新名称上传了同一个文件,比如test_1.js,将页面引用更改为这个新名称,然后页面加载正确的新文件。但这不是一个理想的行为,我很幸运,这是对文件的第一次引用,但如果这种情况发生在更高级的阶段,那将是一个大问题。
很抱歉让它有点宽泛,但我试着对此进行彻底的阐述,我错过了什么吗?为什么会发生这种情况?任何帮助都将不胜感激。
我正在使用:
APEX版本4.2.3.00.08
数据库
- CORE 11.1.0.7.0生产
- NLSRTL 11.1.0.7.0版-生产
- Oracle数据库11g企业版11.1.0.7.0-64位
- 生产PL/SQL版本11.1.0.7.0-生产
- 适用于Solaris的TNS:11.1.0.7.0版-生产版
我找到了解决这个问题的方法,看起来它从APEX v3.1 开始就存在了
从PLSQL Developer运行以下代码作为顶点工作区所有者:
set serveroutput on
declare
l_security_group_id number;
begin
select workspace_id into l_security_group_id
from APEX_040200.APEX_WORKSPACES;
wwv_flow_api.set_security_group_id
(p_security_group_id => l_security_group_id);
wwv_flow_api.create_or_remove_file
( p_name => 'test.js'
, p_location => 'WORKSPACE'
, p_mode => 'REMOVE'
, p_type => 'JS'
);
commit;
end;
第一部分将顶点引擎设置为指向apex中正确的工作区id。
第二部分是从数据库中删除文件的过程。
尽管如此,如果apex引擎按预期删除了文件,那么这应该没有必要。。。
我已经看过这个问题好几次了(例如https://community.oracle.com/thread/867412?start=0&tstart=0),我觉得这是一个已知的问题,但我找不到一个像样的参考
下面是关于这个话题的更深入的对话https://community.oracle.com/thread/674635?start=0&tstart=0
我发现删除文件并重新加载是一种变通方法,或者将文件存储在web服务器上(如果可能的话)。
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Oracle Apex Ghosting Javascript外部文件(bug?)
- 如何加载我的JavaScript文件在我的HTML页面(bug)
- JavaScript中的本地文件支持检测- Windows Phone 8 Bug
- Jquery文件上传替换浏览文件的bug