我有一个web表单(使用ZK框架),比方说在http://www.example.com/myform
此表单get包含在我的主页(例如,http://www.anotherexample.com)中的iframe中。
奇怪的是:
在Internet 9-11中,每当我脱离一个字段的焦点时,IFrame就会完全重新加载(在那里会进行一些字段检查)。但这种情况只发生在IE中,而且只发生在IFrame中。如果我直接加载http://www.example.com/myform,它可以正常工作。
另一个让整个事情变得奇怪的细节是:如果我附加地打开IE中的一个选项卡并在那里加载http://www.example.com/myform,则iframe突然也会正常工作(在重新加载之后)。
不幸的是,IE没有显示任何错误时,重新加载的iframe,所以我不知道发生了什么和为什么。其他浏览器(火狐浏览器、Chrome浏览器)在IFrame上运行得非常好。
有什么线索可能是什么原因?
发布于 2016-05-04 16:24:50
在本例中,原因是P3P,如下所述:https://blogs.msdn.microsoft.com/ieinternals/2013/09/17/a-quick-look-at-p3p/
简而言之,Internet拒绝来自iframes中第三方上下文(不同域)的cookie。这当然会导致提到的行为:
解决方案是发送正确的P3P头,在ZK中可以通过各种方式完成,例如通过.zul文件头指令、servlet过滤器或直接在P3P服务器上完成。完成此操作后,应用程序将按照IE9-11中的预期工作。
https://stackoverflow.com/questions/37022532
复制相似问题