【问题标题】:IE error with javascript that works fine on Firefox and Chrome在 Firefox 和 Chrome 上运行良好的 JavaScript 的 IE 错误
【发布时间】:2011-09-06 12:32:02
【问题描述】:
document.getElementById("displayImage").getElementsByTagName("img")[0].src = "image2.png"

我好像记得对于IE,你需要添加一些描述的<meta>标签,但是我找不到哪个。

如果有帮助:

网页错误详情

用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;

三叉戟/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR

3.5.30729; .NET CLR 3.0.30729) 时间戳:2011 年 9 月 6 日星期二 12:23:00 UTC

消息:对象不支持此属性或方法

【问题讨论】:

  • 你能提供应该修改的html部分吗?
  • 尝试使用 IE 开发者工具进行调试。错误可能并不真正位于错误控制台告诉您的位置。
  • ">
  • 这里不需要元标记;该脚本应该在 IE 中工作。没有 HTML 文档,我们就在黑暗中拍摄。
  • 你试过document.getElementById("case").src = "image2.png"吗?

标签: javascript internet-explorer


【解决方案1】:

正如我在上面的评论中提到的,代码很好;不需要元标记。我怀疑在代码执行之前发生了其他一些 JavaScript 错误。要么是这样,要么是代码执行时文档中不存在元素。

【讨论】:

  • 啊!它是 window.history.pushState
  • 是的,我正要发布那个。 IE8 不支持 pushState。
  • 您知道 IE8 的任何解决方法吗?我现在添加了一个 if 循环。
  • 使用特征检测可以让你避免在不支持它的浏览器中出现错误,听起来你正在这样做。示例: if (typeof window.history.pushState !== "undefined") { /* 支持 pushState 的浏览器代码 */ }
【解决方案2】:

尝试像这样设置图像的 src 属性

var image = document.getElementById("displayImage").getElementsByTagName("img")[0];
image.setAttribute("src",path);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 2018-11-19
    • 2014-04-17
    • 1970-01-01
    相关资源
    最近更新 更多