js跨域时IE9多次请求问题

来源:互联网 发布:炫浪网络社区百合 编辑:程序博客网 时间:2024/06/06 01:57

今天遇到一个偏门的问题,前端使用<script>来跨域时,再IE9下总是发生多次请求问题

原有代码:

var sc='<script type="text/javascript" src="'+domain+'/getRedPacket.js?'+param+'"></script>';$("body").append(sc);

一般正常情况下都这么写吧,可是这种写法在IE9下有个问题,会多次去请求这个js

看了浏览器发送的请求发现,请求地址后自动在参数里加了时间戳,这个在非IE9下是没问题的,但IE9会去请求两次,一次不带时间戳,一次带时间戳,这就有点尴尬了,万恶的IE

解决方案

var s=document.createElement('script');   s.type='text/javascript';   s.src=domain+'/getRedPacket.js?'+param;   document.getElementsByTagName('body')[0].appendChild(s);

这种方式不会自动加时间戳,自然也不会重复发送了,如果需要避免浏览器缓存,需要自己在param中加入时间戳

 param+="&_="+new Date().getTime();


原创粉丝点击