Posts tagged iE

Jquery-Json-IE缓存问题

今天用到ajax加载,想试试jquery的json,据说很好用,按照jquery的api文档说明设置,可以在ie下服务器端总是被缓存,仔细看了下文档,使用ajax加载时可以设置是否缓存服务器端,但是使用json方法就没有这个设置。

突然想到ecshop的严重码加载方法,就套来用了

$.getJSON(”foo.php?temp=”+Math.random(), function(json){

alert(json);

});

在url后面加上一个随机参数,浏览器就会当作不同的url处理,这样就简单的解决了Jquery使用Json方法时的缓存问题。

ps:又是一个星期没有更新了,在博客上花的时间也比较少,这周我经理请了一天的假,剩我一个人独挡一面,让我这几天也体会很多,发现原来自己和经理相差还很远…………..

还有就是我有3个meme邀请,先到先得了

IE-Cookie跨域问题

我需要通过网站的后台嵌入iframe访问另一个网站的后台,但是两个网站的后台肯定都需要Session验证权限,Session又是基于Cookie实现的,在IE浏览器下是这样是不允许访问第三方Cookie的。

IE处于安全性和隐私考虑,默认情况下是禁止访问第三方Cookie的,我们可以通过ie浏览器的Internet 选项来设置是否允许访问第三方Cookie,但是这样只对自己有效,在别人的浏览器上就不一定行的通了。

现在介绍一种一劳永逸的方法,支持IE8。

在你创建Cookie或Session的PHP文件最上面加上

header(’P3P: CP=CAO PSA OUR’);
header(’XDomainRequestAllowed: 1′);

这是在向客户端浏览器发送两条头信息

P3P:Platform for Privacy Preferences

这样我们就可以替用户设置本页面Cookie的隐私权限了,其实和用户自己设置IE的隐私权限是一样的。

XDomainRequestAllowed:IE8新支持的特性,XDomainRequestAllowed设置为1可以实现跨域请求,这样开发Ajax就不必为跨域而烦恼了。

但是这样又为安全问题带来的隐患,使跨站攻击变的更加容易,虽然可以通过一些手段限制可以跨站的域,但是不是万不得已或者这个页面不会带来负面影响最好不要这样做。