IE8(兼容模式)不会加载我的Ajax内容

时间:2010-05-27 14:21:47

标签: javascript jquery ajax events compatibility-mode

我正在研究http://www.qxl.dk/上的jQuery脚本,我似乎无法获取IE7(或者更准确地说,IE8兼容模式下的IE8)来加载我的内容。

右侧的侧边栏名为“QXL Aktuelt”,使用Ajax load()从外部文件加载其HTML内容,然后触发启动轮播脚本的自定义jQuery事件(“aktuelt_loaded”) (就像滚动的新标签一样)。

同一页面上的其他几个内容部分都是通过Ajax加载的,它们工作得很好,所以我想知道出了什么问题。一切都在Firefox 3.6和IE8中按预期工作,但在IE8的兼容模式下没有。

加载Ajax内容的脚本是(内嵌在页面上):

<div id="qxlaktueltHolder"></div>
<script type="text/javascript">
    $("#qxlaktueltHolder").load("/contents/dk/modul/qxlaktuelt/qxlaktuelt.htm", function() {
        $("#qxlaktueltHolder").trigger("qxlaktuelt_loaded", []);
    });
</script>
<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/jcarousellite_1.0.1.min.js'></script>
<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/qxlaktuelt_liveload.js'></script>

响应事件的外部脚本位于以下文件中:

http://www.qxl.dk/contents/dk/js/qxlaktuelt_liveload.js

非常欢迎所有想法。

2 个答案:

答案 0 :(得分:3)

编辑:

看起来正在加载您的内容。您似乎有CSS显示问题。使用IE的开发人员工具,我搜索了在Safari中正确加载的a的href

http://www.123hjemmeside.dk/pages/receive.aspx?target=wl&partnerkey=dkqxl:Hobby_aktuelt_1

并发现该页面上包含所有其他内容。

<强>更新

问题在于您的#newsticker元素。它及其所有li元素的高度和/或宽度属性设置为0

因此无论代码负责调整/显示#newsticker及其内容似乎都是罪魁祸首。


这是一个猜测,但是此脚本qxlaktuelt_liveload.js在此之后加载:

<script type="text/javascript">
    $("#qxlaktueltHolder").load("/contents/dk/modul/qxlaktuelt/qxlaktuelt.htm", function() {
        $("#qxlaktueltHolder").trigger("qxlaktuelt_loaded", []);
    });
</script>

因此,根据load()所需的时间长短,可能会加载或不加载脚本。

尝试:

<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/jcarousellite_1.0.1.min.js'></script>
<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/qxlaktuelt_liveload.js'></script>
<script type="text/javascript">
    $("#qxlaktueltHolder").load("/contents/dk/modul/qxlaktuelt/qxlaktuelt.htm", function() {
        $("#qxlaktueltHolder").trigger("qxlaktuelt_loaded", []);
    });
</script>

答案 1 :(得分:-3)

删除JavaScript代码中的所有控制台。由于某种原因,IE打破了这个。