创建这个简单的基于AJAX的WordPress主题,我为它创建了一个自定义灯箱。一切进展顺利,但可怕的IE现在已经发挥作用。
由于某种原因,内容未在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();
});
});
});
});
我认为问题在于loadurl
因为我可以将其更改为'http://themes.thefinishedbox.com/portfolio/'
并且会加载。
任何人都有任何想法可能是什么问题?
修改
这也不起作用:
var href = $(this).attr('href');
var loadurl = href;
答案 0 :(得分:0)
你的loadurl语句空间太多了:
var loadurl = href + ' #postEntry';
与
var loadurl = href + '#postEntry';
答案 1 :(得分:0)
问题是固定链接结构,可能是IE中WordPress 3.1的错误。
不应该在IE中显示/类别/。由于主题不需要类别,我将永久链接结构剥离为/%POSTNAME%/并解决了问题。