Tag: 缓存

缓存AJAX请求

我正在向一个PHP应用程序发送AJAX GET请求,并希望缓存请求返回以供以后使用。 由于我使用GET,因此不同的请求请求不同的URL(例如getHTML.php?page = 2和getHTML.php?page = 5)。 我需要在PHP应用程序中声明哪些标头,以使客户端浏览器以适当的方式缓存请求URL内容? 我是否需要在处理AJAX请求的Javascript中声明任何内容(我使用的是具有缓存参数的jQuery的$ .ajax函数)? 我如何处理更改例如getHTML.php?page = 2的内容的编辑,以便客户端不会回退到缓存版本? 向GET请求添加另一个参数,例如getHTML.php?page = 2&version = 2是不可能的,因为在没有任何检查的情况下自动创建了到请求的URL的链接(这最好是我想要的方式)。 当我尝试AJAX请求缓存的请求URL时,浏览器将如何反应? AJAX请求会立即返回成功吗? 谢谢 威廉

jQuery在IE中缓存AJAX请求,即使缓存:“false”已设置

我有以下代码 $.ajax({type: “GET”, url: “/” + filename, dataType: “xml”, cache: “false”, success: function(xml) { /* Parsing code here */ }}); 在Chrome等中,请求不会被缓存,但它们在IE中。 我正确地构建了我的请求吗?

JQuery UI Tabs缓存

我在ASP .net MVC应用程序中工作。 我有一个JQuery UI选项卡,其Javascript启用缓存如下。 function LoadStudentDetailTabs() { $(‘#tabStudentDetail’).tabs({ cache: true, spinner: ”, select: function(event, ui) { $(“#gridSpinnerStudentDetailTabs h5”).text(“Loading Details…”); $(‘#tabStudentDetail > .ui-tabs-panel’).hide(); $(“#gridSpinnerStudentDetailTabs”).show(); }, load: function(event, ui) { $(“#gridSpinnerStudentDetailTabs”).hide(); $(‘#tabStudentDetail > .ui-tabs-panel’).show(); }, show: function(event, ui) { $(“#gridSpinnerStudentDetailTabs”).hide(); $(‘#tabStudentDetail > .ui-tabs-panel’).show(); } }); } 我使用list1,tab2,tab3列表构建了三个标签项。 现在发生的事情是,当标签被构造时,它为所有标签项启用了cahing。 但是,如何根据需要单独设置缓存到这些选项卡项。 说(tab1缓存,tab2没有缓存,tab3缓存)我只能看到一种方法将缓存应用于整个选项卡,而不是根据需要将缓存应用于单个选项卡项。 我还需要动态地启用或禁用对这些选项卡项(tab1,tab2,tab3)的缓存。 我怎样才能做到这一点。 任何帮助,将不胜感激?

jQuery选择器与局部变量的性能

当我需要在函数范围内多次访问jQuery选择器的结果时,我建议运行一次选择器并将其分配给局部变量吗? 请原谅我这里的陈词滥调,但我认为这说明了这个问题。 那么,这段代码的执行速度会更快: var execute = function(){ var element = $(‘.myElement’); element.css(‘color’,’green’); element.attr(‘title’,’My Element’); element.click(function(){ console.log(‘clicked’); }); } 比这个代码: var execute = function(){ $(‘.myElement’).css(‘color’,’green’); $(‘.myElement’).attr(‘title’,’My Element’); $(‘.myElement’).click(function(){ console.log(‘clicked’); }); } 如果没有区别,有谁可以解释原因? jQuery是否在选择后缓存元素,以便后续的选择器不必再费心搜索dom了?

后加载:检查图像是否在浏览器缓存中

简短版本问题:是否有navigator.mozIsLocallyAvailable等效函数适用于所有浏览器,或替代? 长版:) 嗨,这是我的情况:我想为asp.net MVC实现一个HtmlHelper扩展,可以轻松处理图像后加载(使用jQuery)。 因此,我使用“alt”属性中指定的源渲染具有空图像源的页面。 我在“window.onload”事件之后插入图像源,效果很好。 我做了这样的事情: $(window).bind(‘load’, function() { var plImages = $(“.postLoad”); plImages.each(function() { $(this).attr(“src”, $(this).attr(“alt”)); }); }); 问题是:第一次加载后,缓存后加载的图像。 但是如果页面加载需要10秒钟,则在此10秒后将显示缓存的后载图像。 所以我想在“document.ready”事件中指定图像源,如果图像被缓存以立即显示它们。 我找到了这个函数:navigator.mozIsLocallyAvailable可以检查图像是否在缓存中。 这是我用jquery做的: //specify cached image sources on dom ready $(document).ready(function() { var plImages = $(“.postLoad”); plImages.each(function() { var source = $(this).attr(“alt”) var disponible = navigator.mozIsLocallyAvailable(source, true); if (disponible) $(this).attr(“src”, source); }); }); […]

防止JavaScript文件的浏览器缓存的更好方法

这就是我们如何防止浏览器缓存JS和CSS文件。 这似乎有点hacky ..有更好的方法吗? <link rel="stylesheet" type="text/css" media="screen" href="/css/management.css?” /> <script type="text/javascript" src="/js/pm.init.js?”> <script type="text/javascript" src="/js/pm.util.func.js?”> 更新:我们想要阻止缓存的原因是确保在我们执行新版本时加载更新版本的文件。