icefaces 部分刷新失败,因为 iframe 错误
icefaces partial refresh fails because iframe error
我有一个 icefaces 文件上传模块:<ace:fileEntry (...)/>
。在我上传文件后,曾经出现一个带有 <ice:inputSecret (...)/>
的弹出窗口,但最近(我不知道为什么)它无法显示弹出窗口,因为支持状态未在浏览器中刷新。导航到另一个页面并返回后,弹出窗口可见。
Firebug控制台有两个JS错误:
第一个错误:
Load denied by X-Frame-Options: http://localhost:8080/appname/index.xhtml does not permit framing.
第二个错误:
Error: Permission denied to access property 'document'
i.contentWindow.document
我知道这两个错误的意思相同,但导致此错误的 iframe 似乎是由 icefaces 生成的,作为密码弹出窗口的同级。它的命名也与弹窗的命名有关。但是,此函数内部抛出了第二个错误:
ice.ace.fileentry = {
iframeLoaded : function(context, id) { //(...)
我该怎么办?
所以,事实证明,几天前有人在 web.xml 中实施了安全过滤器。
此过滤器添加了一个 header,如下所示:response.setHeader("X-Frame-Options", "DENY");
而不是 DENY
,我们需要使用 SAMEORIGIN
.
我有一个 icefaces 文件上传模块:<ace:fileEntry (...)/>
。在我上传文件后,曾经出现一个带有 <ice:inputSecret (...)/>
的弹出窗口,但最近(我不知道为什么)它无法显示弹出窗口,因为支持状态未在浏览器中刷新。导航到另一个页面并返回后,弹出窗口可见。
Firebug控制台有两个JS错误:
第一个错误:
Load denied by X-Frame-Options: http://localhost:8080/appname/index.xhtml does not permit framing.
第二个错误:
Error: Permission denied to access property 'document' i.contentWindow.document
我知道这两个错误的意思相同,但导致此错误的 iframe 似乎是由 icefaces 生成的,作为密码弹出窗口的同级。它的命名也与弹窗的命名有关。但是,此函数内部抛出了第二个错误:
ice.ace.fileentry = {
iframeLoaded : function(context, id) { //(...)
我该怎么办?
所以,事实证明,几天前有人在 web.xml 中实施了安全过滤器。
此过滤器添加了一个 header,如下所示:response.setHeader("X-Frame-Options", "DENY");
而不是 DENY
,我们需要使用 SAMEORIGIN
.