创建这个简单的基于AJAX的WordPress主题,我为它创建了一个自定义灯箱。一切进展顺利,但可怕的IE已经开始发挥作用。不知道为什么这不是通过IE中的AJAX加载内容?
由于某些原因,内容不在IE中加载(仅测试IE8)。
首先,以下是到目前为止主题的链接:http://themes.thefinishedbox.com/portfolio/裸露在心,它仍处于早期阶段,因此无论如何IE看起来会更糟。
单击图像悬停上的右下角图标。
类.postExpand
包含该帖子的固定链接,而ID #postEntry
是我通过AJAX加载的内容。
这里是jQuery的它,如果你想有一个更好的外观,你可以在这里看到原始文件:http://themes.thefinishedbox.com/portfolio/wp-content/themes/portfolio/js/custom.js
$(function() {
$('.postExpand').click(function(e) {
e.preventDefault();
$.ajaxSetup ({
cache: false
});
var href = $(this).attr('href');
var loader = "<div id='loader'></div>";
var loadurl = href + ' #postEntry';
$('body').prepend('<div id="overlay" />');
$('#overlay').animate({opacity: 0.8}, 400);
$('body').prepend('<div id="lightBox" />');
$('#lightBox').html(loader).load(loadurl, function() {
$('#postContent').jScrollPane();
$(this).css({backgroundColor: '#fff'});
});
$('#closeBox > div').live('click', function() {
$('body #lightBox').remove();
$('body #overlay').animate({opacity: 0}, 400, function() {
$(this).remove();
});
});
$('body #overlay').mouseup(function() {
$('body #lightBox').remove();
$(this).animate({opacity: 0}, 400, function() {
$(this).remove();
});
});
});
});
我认为,问题在于用var loadurl
我可以改变,要'http://themes.thefinishedbox.com/portfolio/'
和它将加载。
任何人有任何想法可能是什么问题?
编辑
这不起作用或者:
var href = $(this).attr('href');
var loadurl = href;
你可以尝试'alert(loadurl)'或者使用脚本调试器在load语句之前找出loadurl的值吗? – nfechner 2011-04-03 07:04:05
请尝试查找loadurl的值并将其张贴到此处,如果它不是预期的值。 – nfechner 2011-04-03 07:33:27
@nfechner加载的值是永久链接(无论'.postExpand'链接到)还加载该永久链接中的#postEntry div。这个空间有一个原因。此外,它甚至不能在IE中使用我指定的任何URL,除非它是http://themes.thefinishedbox.com/portfolio/ – daryl 2011-04-03 07:36:12