2

我正在http://www.qxl.dk/上编写一个 jQuery 脚本,我似乎无法让 IE7(或更准确地说,IE7 兼容模式下的 IE8)加载我的内容。

右侧名为“QXL Aktuelt”的边栏框使用 Ajax 从外部文件加载其 HTML 内容load(),然后触发自定义 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

所有的想法都非常受欢迎。

4

2 回答 2

3

编辑:

看起来您的内容正在加载中。您似乎遇到了 CSS 显示问题。使用 IE 的开发人员工具,我搜索了a在 Safari 中正确加载的 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>
于 2010-05-27T14:40:18.770 回答
-3

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

于 2012-01-09T18:00:21.407 回答