做了一个带iframe的页面,firefox下一切正常,到了ie下面就报错。
debug的结果,发现是iframe调用的java程序读取不到session中的值。
研究了很久,不知道原因,最后在一位同事的指点下,通过修改ie的隐私配置,总算可以了。
配置的修改方法是:工具->选项->隐私->高级 在高级隐私策略设置中,将选择框都选上。
可是问题又来了,我的网页要发布,我总不可能要求全部用户都去按我的要求设定自己的浏览器吧!
所以这个问题一定要解决。
经过在百度du了很久之后,终于猜测和一个叫p3p的协议有关。
百度百科中p3p的说明:http://baike.baidu.com/view/1332745.htm
哦,原来是因为ie认为不安全,所以不能保存cookie及session。
原因找到了,那就要看怎么解决了:
那就人为在发送的包头中,加入个信息,说明自己是安全的就好了!
response.setHeader("P3P","CP=\"NON DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa HISa TELa OTPa OUR UNRa IND UNI COM NAV INT DEM CNT PRE LOC\"");
参考博客:http://wangzi6hao.iteye.com/blog/531524