jQuery.load()-内部外部Javascript
我加载一个带有jQuery.load()-内部外部Javascript,javascript,jquery,html,load,lazy-loading,Javascript,Jquery,Html,Load,Lazy Loading,我加载一个带有 $('#myContainer').load('myfile.html'); 在myfile.html中有一个 <script type="text/javascript" src="otherscript.js"></script> 一些用户报告otherscript.js未加载。。。我已经测试了所有常见的浏览器(firefox、IE6/7、safari、opera等)-我不明白为什么这不起作用 另一个想法是。。。根据我的firebug,浏览器
$('#myContainer').load('myfile.html');
在myfile.html中有一个
<script type="text/javascript" src="otherscript.js"></script>
一些用户报告otherscript.js未加载。。。我已经测试了所有常见的浏览器(firefox、IE6/7、safari、opera等)-我不明白为什么这不起作用
另一个想法是。。。根据我的firebug,浏览器不会缓存otherscript.js。。它承载着
otherscript.js?u=1234785
(此处的时间戳:))
任何人都知道为什么有些浏览器不支持这一点,而且。。如何启用该缓存
制造
Christopher要避免缓存出现问题,可以执行以下操作:
$('#myContainer').load('myfile.html?'+(new Date()).getTime());
在myfile.html中:
<script type="text/javascript">
var script = document.createElement("script");
script.setAttribute('type','text/javascript');
script.setAttribute('src','otherscript.js?'+(new Date()).getTime());
document.body.appendChild(script);
</script>
var script=document.createElement(“脚本”);
setAttribute('type','text/javascript');
script.setAttribute('src','otherscript.js?'+(new Date()).getTime());
document.body.appendChild(脚本);
根据您的需要调整此代码。加载函数仅加载html。因为浏览器安全协议不允许您将外部脚本加载到浏览器中。但幸运的是,有.getScript可以解决这个问题。请查看:
…fredrik正如fredrik指出的,.load不会加载外部文件,但是它会将结果传递给html以执行其中的任何javascript 我有一个类似的问题,我提出了这个解决方案,它从具有src属性的结果中提取任何脚本标记,然后使用$.getScript加载属性值
$('#exmple').load(url, function(result) {
$(result).filter('script[src]').each(function () {
var script = $(this).attr('src');
$.getScript(script);
});
});
陛下不,我是说jquery或。。不知道是什么添加了时间戳。。。我不想:)