【发布时间】:2011-07-07 00:52:19
【问题描述】:
刚刚在 IE9 中发现了一些非常奇怪的东西(有多不寻常?)
我有以下代码来克服跨域限制并加载在 localhost 上运行的 javascript
var url = 'http://local.maglnk.com:45099/download/?info_hash='+info_hash;
var scriptTag = $('<script />').attr('src',url);
scriptTag.appendTo('body');
此代码在 IE9 以外的任何浏览器上都可以正常工作,奇怪的是 IE9 两次请求脚本标签的 url,第二次它在末尾附加某种时间戳网址
http://local.maglnk.com:45099/download/?info_hash=6eabb12b8bf344feba7d323c940c18d096771b99&_=1309998922080)
我不确定 jQuery 在动态附加脚本标记时是否添加了尾随“&_=1309998922080”,或者 IE 是否正在执行某种预编译或预解析,在这种情况下我来问如果有办法通过 javascript 停止该机制。
如果您遇到过这样的事情,请留言。
【问题讨论】:
-
你试过
$('<script type="text/javascript" />'),以防它窒息...... -
在 IE9 中使用 jQuery 附加脚本标签时,我注意到初始请求似乎总是从服务器获得 304 响应。看起来当 jQuery 在 IE 中获得 304 时,它会立即发送带有时间戳作为 URL 变量的第二个请求,以防止任何缓存脚本的机会。
标签: javascript jquery internet-explorer-9