解决使用document.domain之后,jquery的ajax出现Permission denied的问题

最近在学习backbone,版本是1.0.x了,网上很多资料都基于0.5.x的,于是只好上官网啃文档了; 好不容易页面终于搞好了,在IE(8-10),Firefox,Chrome都测试通过,最后在IE6却出现莫名奇怪的Permission denied,十分懊恼,没有任何头绪,

由于首次用backbone,以为是backbone的问题,网上找了一大堆文章,都解决不了,只好一段段代码去调试了. 后来发现代码里面用到document.domain这个js属性,当时是为了实现跨域(主域是一样,二级域名不同)调用父框架脚本而加上去的.

顺着这条线,终于发现原来IE6,IE7羡慕如果设置了document.domain,jquery的ajax就会报错.爬了N多资料,总算找到解决方法了,原来document.domain要写在jquery加载之前,只要把document.domain = ‘xxx’ 放在加载jquery的前面即可

<script type="text/javascript">
//设置域
document.domain = document.domain.split('.').slice(-2).join('.');
</script>
<script src="/scripts/jquery.min.js"></script>

这应该也算jquery的一个bug吧.官方是这么说的:http://bugs.jquery.com/ticket/6500

赞 (0)
分享到:更多 ()