我最近偶然发现在代码库中使用<image>
元素。在最新的Chrome,FF和回到IE9(未测试8或以下) - 此元素呈现为<img>
元素。我开始深入研究这个问题,因为我甚至不确定<image>
代码的来源,并且我找不到引用,因为这是一个有效或使用的标记任何地方,例如根据{{3}}和w3 img tag docs - 根本没有引用<image>
标记。
在检查我的<image>
=&gt;时,以Chrome为例,MDN <img>
docs作为参考。 <img>
元素,我发现它确实被解释为HTMLImageElement
。
然后我疯狂地想到一些巫术正在进行,构造函数是HTMLImageElement
的构造函数,也许是一些我完全没有注意到的未说出的模式,所以我尝试了一个Constructing the Object Model
元素的实验(这是一个HTMLAnchorElement
),但以下失败,没有转换:<anchor href="">
!--
<a href="">
我在这里根本没有意识到这件事吗?这是<image>
=&gt; <img>
转化来自?
<a>
- 演示
进一步研究这个 - 我最初怀疑这可能是一个浏览器“的事情”,但无法找到任何可以确认的来源。然后我使用JSFiddle Link来实际解析显式标记 - 但结果并不是我所期望的。使用<image>
元素和实验<anchor>
元素 - 我得到以下内容......
<!DOCTYPE html><!-- not seeing a way to fork this - here is the input -->
<html>
<head>
<title>I thought I knew something about HTML</title>
</head>
<body>
<image src="//sstatic.net/stackexchange/img/logos/so/so-logo-med.png?v=6f86a5fa447f">
<anchor href="#">anchor</anchor>
</body>
</html>
我得到明确的<anchor>
不允许,<img>
必须有alt
属性消息。我认为这个验证器与浏览器无关 - 如果是这样,怎么可能假设<image>
和<img>
之间存在关联?这是否也假设这可能不是浏览器特定的问题?