【问题标题】:Internet Explorer 8: jQuery load issue?Internet Explorer 8:jQuery 加载问题?
【发布时间】:2013-06-08 23:17:59
【问题描述】:

我最近发现了一个程序 IETester,可以在不同版本的 Internet Explorer 上测试我的网站http://www.gfcf14greendream.com/。在 chrome 和 firefox 上,我的网站如下所示:

但是当我在 IE8 上打开我的网站时,我得到了这个错误:

greedream.js 文件的行是:document.getElementById("log").innerHTML = data;从函数:

function loadLog() {
    $.get("/PHP/loadlog.php", function(data) {
        document.getElementById("log").innerHTML = data;
    });
}

它会加载带有您在右侧文本区域(即“站点日志”)中看到的信息的文本文件。然后出现此站点日志,但其中没有任何文字。 jQuery 是否不适用于 Internet Explorer 8(以及任何较低版本)?提前感谢您的帮助。

【问题讨论】:

  • 试试$('#log').html(data),确保ID正确。还有你用的是什么jQuery 版本?
  • 我用<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>这一行来加载jQuery,所以我猜是1.8.3版
  • 由于某种原因,我更改了代码,虽然不再显示错误屏幕,但仅显示站点日志的前两行(来自文本文件)
  • 您的JQuery 版本适合IE,所有使用的jQuery 方法都应该在ie 6 及以上版本中工作。我将尝试使用 IE 对其进行调试。您可以按 F12 运行 IE 调试器。

标签: javascript jquery internet-explorer-8 ietester


【解决方案1】:

您的问题可能是由以下 html 元素引起的:

<object width="90%" height="600" 
  data="http://www.gfcf14greendream.com/thesitelog.html" type="text/html"></object>

后来$("#log")在IE中不返回元素。

您可以考虑在 thesitelog.html 中内联代码,以便您可以找到具有 id 日志的元素。

不确定这是否可行,但每次您使用 data 属性设置对象时,都会再次加载 greendream.js。也许当它从 sitelog.html 加载时,它可以访问 id 为 'log' 的元素:

function loadLog() {
  if(/thesitelog.html$/i.test(window.location)===true){
    $.get("/PHP/loadlog.php", function(data) {
      $('#log').html(data);
    });
  }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 2012-12-24
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    相关资源
    最近更新 更多