Jquery 清除缓存后getscript不工作
我正在使用getscript()为我的图像库加载一些脚本。只要我单击gallery,就会运行以下代码:Jquery 清除缓存后getscript不工作,jquery,getscript,Jquery,Getscript,我正在使用getscript()为我的图像库加载一些脚本。只要我单击gallery,就会运行以下代码: $(function () { $(window).hashchange(function () { $(document).ready(function () { $('#nav li a').click(function () { $('#content-wrap').load(toLoad, showNewContent);
$(function () {
$(window).hashchange(function () {
$(document).ready(function () {
$('#nav li a').click(function () {
$('#content-wrap').load(toLoad, showNewContent);
function showNewContent() {
if ($('#content-wrap').is(':empty')) {
return false;
} else {
if (window.location.hash == "#photos") {
alert("soundswaste1");
$.getScript("galleria/galleria-1.2.8.min.js");
$.getScript("galleria/themes/classic/galleria.classic.min.js", getGalleria);
function getGalleria() {
alert("soundswaste2");
$.getScript("galleria.js");
}
}
$('#content-wrap').fadeIn(500).css("display", "block");
}
return false;
});
});
});
});
首先,我进入chrome控制台->右键单击网络选项卡->清除浏览器缓存->刷新页面->然后单击照片。
我收到警报“soundswaste1”,但效果不起作用。图像在页面上排成一行
然后,我只需再次单击“照片”,我就会收到两个警报,每个警报两次。
2个问题:
我猜
galleria.classic.min.js
取决于galleria-1.2.8.js
在第一次加载时,您尝试一个接一个地加载它们,
但是要确保在加载第二个脚本时,第一个脚本已经加载完毕。
因此,在第一个的success
上,加载第二个,如下所示:
$(document).ready(function () {
$('#nav li a').click(function () {
$('#content-wrap').load(toLoad, showNewContent);
function showNewContent() {
if ($('#content-wrap').is(':empty')) {
return false;
} else {
if (window.location.hash == "#photos") {
alert("soundswaste1");
$.getScript("galleria/galleria-1.2.8.min.js",
function () {
$.getScript("galleria/themes/classic/galleria.classic.min.js",
function () {
alert("soundswaste2");
$.getScript("galleria.js");
});
});
}
$('#content-wrap').fadeIn(500).css("display", "block");
}
return false;
});
});
为什么
$(窗口).hashchange
会在$(文档).ready
之前运行,如果您离开页面并重新加载脚本,为什么会运行$(窗口).hashchange
?为什么有$(函数(){
和$(文档).ready
?总之,删除前两行代码和前两行代码。之后一切都应该正常。好的,我删除了前两行和最后两行,这只是文档。现在准备好了。我不再收到两次警报,但问题1仍然存在。如果我清除缓存,第一次就不起作用。只有当我再次点击链接。