JQuery -- ajax 如何缓存引入的js文件
有如下代码:
$.ajax({
cache:true,
url:'aa.php',
success:function(/*html*/){
// 比如是ajax返回的结果
var html = "<div>" +
"<script src='aa.js'/>" +
"<link href='aa.css' type='text/css' rel='stylesheet'>" +
" some content " +
"</div>";
$("#id").after(html);
}
});
发现 请求为
aa.com/aa.php
aa.com/aa.css
aa.com/aa.js&_=1373600904652
这样好像 js 文件不被缓存
看了下 JQuery, 如果插入的html中有script标签,就会用ajax请求js文件
发现这个函数比较可疑
function ajaxExtend( target, src ) {
//......
if ( deep ) {
jQuery.extend( true, target, deep );
}
return target;
}
传进去的target 没有 cache属性
返回的时候就被设置了cache:false属性
然后就看不懂了
请问有没有方法去掉 _=1373600904652 ???
------解决方案--------------------为什么不提前加载css,js而用ajax
------解决方案--------------------$("#id").after(html);
关键应该在这里,与html是不是AJAX返回的无关。。
我试试0.0
------解决方案--------------------html方法会自动分析script标签然后执行里面的代码和加载src指定的js文件
cache是针对url:'aa.php',这个,不是针对html方法中设置的script