2011-04-03 72 views
1

创建这个简单的基于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; 
+2

你可以尝试'alert(loadurl)'或者使用脚本调试器在load语句之前找出loadurl的值吗? – nfechner 2011-04-03 07:04:05

+0

请尝试查找loadurl的值并将其张贴到此处,如果它不是预期的值。 – nfechner 2011-04-03 07:33:27

+0

@nfechner加载的值是永久链接(无论'.postExpand'链接到)还加载该永久链接中的#postEntry div。这个空间有一个原因。此外,它甚至不能在IE中使用我指定的任何URL,除非它是http://themes.thefinishedbox.com/portfolio/ – daryl 2011-04-03 07:36:12

回答

0

问题是永久链接结构,可能是IE 3.1中的WordPress 3.1的错误。

它是显示/类别/在IE中,当它不应该。由于主题不需要类别,因此我将永久链接结构剥离为/%POSTNAME%/并解决了问题。

0

你使用loadURL语句有太多的空间:

var loadurl = href + ' #postEntry'; 

var loadurl = href + '#postEntry'; 
+0

编辑该问题.. – daryl 2011-04-03 07:15:08

相关问题