2017-02-06 137 views
2

我正在使用JS创建整个页面。 所以在这里我把图像的表,我有一个片段如下:图像加载不正确在HTML中

col = document.createElement("td"); 

var img = document.createElement("IMG"); 
img.setAttribute("src", plane.innerHTML); 
img.setAttribute("width", "304"); 
img.setAttribute("height", "228"); 
img.setAttribute("alt", plane.innerHTML); 
col.appendChild(img); 
row.appendChild(col); 

额外的信息,如果你需要

后来我此行添加到表:

ntable.appendChild(row); 

和很久以后我打开一个新的窗口,与此表:

w =window.open("","","width=700,height=700"); 
w.document.write("<body></body>"); 
w.document.getElementsByTagName("body")[0].appendChild(ntable); 
w.document.close(); 

Issue:

当窗口第一次弹出时,我看到的只是图像替代文本。我需要右键单击它们并重新加载以查看图像(意味着图像在列中,但在打开窗口时不显示)。

浏览器详细信息:它在Chrome上正常工作,但这个问题在Firefox中是持久的。

enter image description here

+0

实际的html输出在firefox中看起来如何? [mcve]会有帮助。 – yezzz

+0

@yezzz左边的截图在firefox中,右边的是在Chrome中。 –

+0

是的,我已经看到了,但是如果代码中存在任何缺陷(该chrome可以处理,但FF不能),则完整的代码示例和生成的html标记将提供线索。 FF在控制台中给出了任何错误? – yezzz

回答

0

我找到了一个解决问题的办法。

而不是制作变量和使用DOM函数,我只是用整个HTML文档设置一个长字符串,最后使用document.write方法编写HTML文档来制作HTML文本。这似乎解决了图像无法加载的问题。

1

我想使用的insertCell可能有助于

HTMLTableRowElement.insertCell() 
+0

不,不会改变任何东西。 –