相关网页为http://matthewanderson.cc
我是一个基于WordPress的投资组合网站上的javascript新手。我正在使用jQuery .load()从WordPress帖子中获取内容,它可以在Firefox,Safari和Chrome中使用,但不适用于任何IE。
具体的Ajax代码在这里:
$(document).ready(function(){
$("a.ajax-load").click(function (event) {
//prevent standard browser link behavior
event.preventDefault();
//Fade out any existing visible content
$("#project-expanded *:visible").fadeOut("slow");
//Insert loading graphic
$("#project-expanded").html('<p style="text-align:center;"><img src="http://matthewanderson.cc/wp-content/themes/tiles/ajax-loader.gif" width="16" height="16" style="margin:160px 0 0"/></p>');
//Pull URL from clicked object, store it in a variable, add string " #ajax-content" to be used in next line
var postAjaxURL = $(this).attr("href") + ' #ajax-content';
//Fetch content from the URL contained in postAjaxURL (filtering for #ajax-content), insert results into #project-expanded
$("#project-expanded").load( postAjaxURL, function(){
//Set CSS contents of #project-expanded to display:none so they can be faded in later
$("#project-expanded *").css("display","none");
//Expand #project-expanded using jQuery .show effect
$("#project-expanded").show("slow", function(){
//After #project-expanded is expanded, fade in the contents
$("#project-expanded *").fadeIn("slow");
});
});
});
我已将所有正在提取的页面添加以下标题以防止IE缓存,但它似乎没有帮助
<?
//Set no caching
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
有人有任何想法吗?
谨慎地提到IE的任何版本都没有报告任何javascript错误。
另外,我认为这不是一个缓存问题。在看完Fiddler的页面请求后,我可以看到页面外的内容被成功调用。
答案 0 :(得分:1)
你可以做的另一件事就是将&amp; rand = 230948234附加到你正在拉动的网址上。这通常会强制浏览器重新下载它,因为它不知道参数是没有意义的。这将生成一个合适的随机元素:
var randomnumber=Math.floor(Math.random()*100000000);
var postAjaxURL = $(this).attr("href") + ' #ajax-content';
$("#project-expanded").load( postAjaxURL, {rand: randomnumber}, function(){
编辑:修正了! URL参数未按我原来的方式设置。