火狐和谷歌浏览器不显示innerHTML中的图片

3
我有一个相当简单的函数,用于隐藏一些用于收集信息的div,然后显示更新消息...
function updatePleaseWaitingPane() {

    document.getElementById('formDiv').style.display = "none";
    document.getElementById('furtherQuestions').style.display = "none";
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id', 'PleaseWaitDiv');
    newdiv.innerHTML = "<h2>Please wait</h2><br/><br/><br/><br/><img src=\"http://www.myurl.com/images/pleaseWait.gif\" alt=\"Please wait\" width=\"600\" height=\"54\"><br/><br/><br/><br/>Thanks for your input. Now let us get you some answers";
    document.getElementById('Content').appendChild(newdiv);
}

所有的内容都正常运作,很简单。然而我注入的图片在Chrome和Firefox中似乎无法加载,但是在IE中却可以?我检查了URL并且在Firebug中检查元素时,可以看到图片具有预览效果,因此URL是正确的。任何人有想法吗?


这个是在 DOM 准备就绪后调用的吗? - Daniel A. White
1
为什么不直接使用一个隐藏的 div,然后将其显示出来以包含这些信息呢? - Ross Dargan
你能把它放在http://jsfiddle.net/上吗? - airportyh
你能用HTML给我们演示一下你的问题吗?如果你正在使用Strict,可能只是<img>标签没有关闭。 - Benjie
DOM已经准备好了,我会尝试将其放在Fiddle上。 - Mike Sav
好的,在我抓狂了一段时间之后(那是剩下的头发),我决定放弃注入或创建一个新元素,而是在页面中创建div,并通过CSS将其隐藏,然后让JavaScript在单击按钮时显示它。这在IE中创建了一个问题,我不得不写一个条件,如果浏览器是IE,则清除图像并使用“append”注入一个新图像。感谢您所有的建议。 - Mike Sav
2个回答

1

IE会将document.getElementById('Content')与大小写不同的id="content"匹配,而Chrome则不会,确定ID正确吗?


0

尝试关闭图像标签

<img src="/watever" />

^^ 注意在右尖括号前的斜杠


只有当文档是XHTML时才会有影响。考虑到所有的<br/>,这可能是情况,除非有人盲目地使用XHTML语法(顺便说一下,在HTML 4中这是不严格有效的)。 - cHao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接