Javascript 未在新窗口中的屏幕上渲染图像

Javascript 未在新窗口中的屏幕上渲染图像,javascript,html,Javascript,Html,我有以下代码用于在新窗口中查看图像。这两个代码段都能够在新窗口中生成相同的HTML,但第一个代码段没有呈现图像,第二个代码段工作正常 <a onclick="window.open(this.href);return false;" href="javascript: var i = new Image(250, 250);i.src='image_url'; document.body.appendChild(i);" >VIEW1</a> <a oncli

我有以下代码用于在新窗口中查看图像。这两个代码段都能够在新窗口中生成相同的HTML,但第一个代码段没有呈现图像,第二个代码段工作正常

<a onclick="window.open(this.href);return false;" href="javascript: var i = new Image(250, 250);i.src='image_url';   document.body.appendChild(i);" >VIEW1</a>

<a onclick="window.open(this.href);return false;" href="javascript: document.body.innerHTML='<img width=&quot;250&quot; height=&quot;250&quot; src=&quot;image_url&quot;/>';">VIEW2</a>

我想知道为什么
innerHTML
正在工作,而
appendChild
不工作

这个“URL”是用来链接图片的,如果图像由于某种原因没有加载(中断请求),这个“文本”是作为一个描述存在的



image src path to give full path…正在运行

请参见innerhtml vs appendChild的答案,特别是:我认为关键点是:后者(appendChild)不会导致DOM的完全重建,甚至不会导致目标中的所有元素/节点。前者(设置innerHTML)确实会导致完全重建目标元素的内容,如果要追加,则不需要这样做。但当我尝试使用脚本标记执行相同的javascript代码时,我能够看到图像,您可以使用图像源的完整路径
  <a onclick="window.open(this.href);return false;" href="javascript: document.body.innerHTML='<div>&lt;Img width=&quot;250&quot; height=&quot;250&quot; src=&quot;file:///home/lt-176/tudip-image.jpg&quot; alt=&quot;text&quot;&gt;</div>';">VIEW2</a>